Programming languages don't die; in fact, many of them are even more relevant today than in their heyday. We must be excited about new trends while understanding what came before
The technology industry is many things, but slow and static is not one of them. Our world is constantly changing and evolving, and guess what? The same happens with programming languages. Every couple of days we hear a new framework, a new superset, or a new disruptive language that is here to kill your favorite stack. JavaScript is dead, PHP is dead, and Python is on its way to the grave. Not even Nietzsche was so implacable when he wrote that God had died. But I'll let you in on a little secret: programming languages are harder to kill than superheroes.
See, languages are not living creatures. They don't disappear from one moment to the next. They do not stop working after the expiration date. As long as the hardware remains compatible, a PERL script can keep working forever. Or Cobol, or Fortran, or Pascal. To this day, we have industries and applications running on these “extinct” languages. Some of them are even the backbone of important services for our society.
Now, it's obvious that when people say a language is “dead”, they are implying that it has become less popular, that its community has shrunk, or that it has fallen behind its competitors. Take, for example, Ruby. Everyone praised the language, but nowadays it is relatively uncommon. Its popularity and adoption were strongly tied to the popularity of Ruby on Rails.
And yes, I can still download RoR and bootstrap a backend solution. MVC may not be the most modern architecture on the market, but it still works as well as it did ten years ago. And even though RoR has fallen out of favor compared to Django, Laravel or NodeJS+Express, it's still a very mature and very good framework.
In fact, the emergence of new programming languages only highlights the importance of understanding older ones. Case in point: Many software developers have adopted functional programming after spending decades with object-oriented languages. By understanding our history, we become aware of our current limits. Learning a variety of programming languages allows developers to more easily adapt to new technologies and trends as they emerge.
In general, it's critical to avoid dismissing older or lesser-known programming languages, like PHP, as obsolete or antiquated. Compared to more modern languages, they still have value and can offer new insights that we might otherwise miss. It is in our best interest as developers to avoid believing in myths and speculation about the predicted death of programming languages.
My personal story
For most of my team's career, we've worked with Django or Flask – both very old but solid frameworks for building backend applications in Python. We've also been heavily involved with FastAPI and CherryPy. We also work with Typescript, Javascript, and Go, but it's pretty obvious that Python is our favorite.
We're also very competitive and like challenges, so when a new project fell into our hands and someone said, “Why don't we try Deno?” it seemed like a good idea at the time.
Before proceeding, I want to make something very clear. Deno is a fantastic work of art that fixes some of NodeJS's nastiest problems. It's fast, it's TypeScript first, and it's probably the best JS runtime environment in terms of performance. But he's young and opens a huge can of worms.
Let's do an experiment. Go to your favorite AI model and ask them to write a complete tutorial on how to configure and serve a Deno backend solution. If you're lucky, you'll get some accurate information around 2021, but what if you want to use some NPM packages? After all, Deno released its NPM compatibility update in 2023. Well, tough luck. Even if the AI has been trained with newer information, it is much more likely to come up with a solution for Deno than for other well-established solutions.
The reason why is the heart of the matter: models are more accurate the more data we feed them. Unlike Deno, Express and Laravel have a thousand times more content available on the web. The older and more popular the technology, the greater the chances that someone has already solved a problem on StackOverflow.
Take for example, Elixir and Rust. In 2021, both languages surpassed all other alternatives as the most liked technology in the StackOverflow survey. But, this is just one side of the story.
The sum of the total number of developers who voted for Elixir and Rust totals 8,153 respondents. That's 2,664 fewer than all the people who voted who love Java, 4,450 fewer than C#, and 14,846 fewer than those who voted for Python.
I have nothing against Elixir or Rust – quite the opposite, in fact – but their respective communities are an order of magnitude smaller than their competitors. While I don't believe the majority opinion, the mass adoption of other technologies means there are more community interactions, more creative problem solving, and more information.
In other words, yes, modern solutions solve problems, are high performing, and in most cases are probably objectively better technology than their ancestors (trust me, we'll get to that in a minute), but they're also unexplored territory. While this may sound appealing to people who like challenges, it means you need to be ready to sit down and code your own solutions for edge cases.
In other words, don't get involved with the new framework, language, or technology stack if you're not willing to get your hands dirty.
So, as you might have suspected, that's exactly what happened in our experience with Deno. By itself, it got us 80% of the way there, but the lack of popular, common, well-maintained packages was certainly felt. The more we worked, the more we needed to delve into documentation and source code to build our own solutions.
Was it worth the effort? You bet. The end result is fantastic and was a real learning experience for everyone involved. But the journey there was difficult and could have been much easier if we had decided to follow what was out there.
The rise and fall of programming languages
Have you ever heard someone say “PHP is dead” and felt a pang of sadness in your developer heart? (Or perhaps a warm, hopeful feeling?) Well, for better or worse, I'm here to tell you that PHP is not dead.
The problem is this: programming languages, like Hollywood stars, rise and fall all the time. At one point, Java was all the rage and everyone wanted to learn it. It seemed like every tech company was hiring Java developers left and right! But then something changed: developers started gravitating toward other languages with more modern features, like Python or JavaScript.
But why do some languages seem to disappear while others thrive for decades? Well, it's kind of complicated, actually. Sometimes it all comes down to how well a language can adapt to new technological trends. Can it be easily integrated into mobile apps or work well in cloud-based environments? Otherwise, your popularity may start to decline over time.
Kotlin was specifically designed to make Android development less atrocious, and in conjunction with C# and the ASP.net ecosystem, it has reduced Java's market share by a fair margin. Still, don't expect banks to abandon Java anytime soon.
This brings us to another point: sometimes languages are popular because there are no alternatives. I know JavaScript has grown to be a pretty robust language, but let's be honest; It wouldn't be as popular as it is if it weren't for the fact that it's the de facto solution for DOM manipulation.
And so, with Blazor and the aforementioned ASP.net ecosystem, we're seeing a lot of developers moving to C# now that WebAssembly is a reality. This won't dethrone JavaScript, but it will certainly make things more interesting in the near future.
Finally, sometimes languages grow in popularity because their accessibility causes people to expand their functionality to everything. Python and JavaScript are great examples, but they are interpreted languages and quite slow, but that hasn't stopped enthusiasts from using them for computationally intensive tasks like 3D graphics and game engines.
Other times, it has everything to do with community hustle and bustle. Take Perl 6, for example – I think we can all agree that there were people who were not happy with this change! The truth is: coding language preferences will differ between regions due to factors such as educational systems, which also determine what companies choose when choosing software direction.
So yes, even if a language seems outdated now or no longer receives support from its creators, who knows – maybe next week they will be back on top. Ruby may be forgotten these days, but who knows if another Ruby on Rails is coming.
The impact of industry trends on programming language
When I was starting out, PHP was already well established. Everyone used it for web development, and every company that wanted an online presence needed someone who knew PHP. Then came those pesky Javascript frameworks like AngularJS and ReactJS that promised faster development times and better user interfaces. Suddenly everyone was jumping on this bandwagon.
At first glance, it looked like PHP was going to go down with the ship, just like good old Jack Dawson from Titanic (sorry if you haven't seen the movie yet, but you've definitely heard of it). However, what many people fail to realize is that programming languages don't die easily – they adapt. And boy, has PHP adapted!
It kept up with trends by incorporating useful features like object-oriented programming (OOP), which made code more organized and simplified functionality across projects. Another factor that contributes to its longevity is its huge community support system. The number of libraries available for PHP is impressive! Imagine having access to thousands and thousands of tools at your fingertips! This is better than digging through documentation for hours trying to figure out how something works.
And finally, there's one thing no modern framework can compete with: experience. Yes, my dear friends – knowing something intimately from the inside out also has its advantages! Programmers around the world have written millions of lines of code in PHP over decades, while improving their skills daily. This collective knowledge has led to a treasure trove of solutions, debugging techniques, and approaches – this vast resource can often be invaluable when tackling new projects.
The role of the community in keeping programming languages alive
No language is an island. It takes a whole group of developers and enthusiasts to keep a language alive and thriving. Without them, this language might as well be six feet under with Elvis. But what do we mean by “community”? Well, it's all those people who use the same language as you — whether it's PHP, Python, or Ruby on Rails — and are dedicated to helping each other learn more about coding and improve their skills.
Now here's where things get interesting: communities are not only important for keeping languages alive today, but also for ensuring that they still exist tomorrow. Think of a community as a garden (stick with me here). If people stop gardening – pulling weeds, fertilizing the soil – eventually nothing will grow!
I actually have a friend who was learning PHP in college (he would probably kill me if he knew I was telling you this story!). He struggled alone on his first few projects until he found online forums full of fellow PHPers who were always ready to give advice or tips on how to improve their code.
This kind of support system can make ALL the difference between someone sticking with a certain language or throwing up their hands in frustration (trust me, I've been there!). So let's raise our glasses (or coffee cups) high in honor of all these amazing communities that fuel the growth of our favorite programming languages! May they never die like the old fads of the past!
The Importance of Legacy Code: Why Old Languages Still Matter
Now, I know what you're thinking: legacy code? Pfff, this is like Egyptian hieroglyphs or Sumerian tablets, why bother? But hear me out, because legacy code is actually very important.
Think of it this way: when a house has been standing for decades or even centuries, there is a certain charm to it. Sure, the plumbing and electrical may need updating, but there's something special about living in a piece of history. It's the same with programming languages. Just because they've been around for a while doesn't mean they're irrelevant.
In fact, many older languages are still used today and have proven to be incredibly resilient over time. Take PHP, for example: despite rumors of its demise over the years (thanks largely to its reputation for being easy but not very scalable), it remains one of the most popular web development languages on the planet.
And here's another thing: older codebases can teach us a lot about how our industry has evolved over time. By digging through these old lines of code (or maybe just old projects gathering dust), we can see where we came from and how far we've progressed since then.
Plus, someone always needs maintenance on an old system that was written 30 or 40 years ago! You'd be surprised how much business flows through systems built by amazing engineers who may have already retired!
Let me give you a very simple example: remember that language I mentioned before – Elixir? Well, it runs its code on the Erlang virtual machine, and that goes back to 1986. It's one of the best examples of concurrency in computer science, rivaling even modern solutions. See what I mean? Just because Erlang isn't as popular as Python doesn't mean it doesn't have something to offer.
So don't dismiss these old programming languages too quickly — sometimes they have more value than you realize. Embrace your inner archaeologist; dig up an old software package and take a deep dive into what made it tick back then – grab an Indiana Jones hat if you feel adventurous enough!
The need for diversity in programming languages: why we shouldn't abandon PHP
PHP is a language that gets a lot of hate these days. People say it's old and outdated and that no one uses it anymore. But here's the thing: just because a language isn't new and shiny doesn't mean we should abandon it completely. In fact, I would argue that diversity in programming languages is more important now than ever.
Let me explain with an anecdote. Recently, my mother wanted to improve her website and asked for my help. She runs a small business selling homemade crafts and relies on her website to attract customers.
He guesses? Your site was built using none other than good old PHP (not even Laravel). The company that created the page simply stopped answering her calls and all they had was her server login information.
Now imagine if everyone had stopped learning PHP because they thought it was dead or irrelevant. What would happen then? My mom wouldn't have been able to find anyone to fix her website! And let me tell you, she definitely wasn't going to learn Python or Ruby on Rails on her own.
And before you ask, yes, I'm doing something better for her, but while we prepare the update, the website needs to be working so she can interact with her customers.
We need diversity in programming languages, just as we need diversity in every other aspect of our lives – cultural backgrounds, opinions, skill sets – all of which bring something unique and valuable to the table.
Also, think about all those developers who learned PHP as their first language – are we really saying they wasted years of their lives? No way! They gained valuable skills that can still be useful today! So let's stop throwing shade at languages just because they're not totally new anymore. Embrace diversity in programming languages – your mom (and mine) will thank you later!
If you liked this, be sure to check out our other PHP articles.
- A Better PHP Alternative for Web Projects?
- 7 Best PHP Tables and Charts Libraries
- Top PHP Development Tools to Speed Up Your Development Process
- PHP Developer Skills: Mastering the Essentials
- Which PHP frameworks should you use?