There are as many programming languages as there are computer scientists with a spark and a wish to write something new. Languages come in all forms, from languages trying to stick to programming paradigms to languages that are outright satire.
Considering that there are around 700 programming languages (that we are aware of), it should come as no surprise that some of them thrive, while others are relegated to the dark corners of IT history.
It’s not difficult to see why they succeeded. These languages have a foundation/company backing them with funds, a strong and growing community creating courses, libraries, and content for the language. And most importantly, they just work.
But what about the other 680 programming languages? Are they all dead? Are they doomed to fade as time goes on? Well, not quite.
Quality isn’t everything
The fate of a programming language is closely tied to its community. It doesn’t matter the size, but rather the passion and commitment. A strong community, even if it’s small, can keep a programming language going on for decades.
Take R for example. A perfectly fine language for math, R isn’t the easiest to learn. It’s verbose, convoluted, and quite frankly, inefficient when compared to MatLab and other competitors.
What makes R such a good language is the community. Most developers that build libraries for R are academics from fields like math, biology, psychology, and so on.
In turn, that means that the libraries, while far from perfect, have some of the most elaborate methods available. For example, if you want psychometrics tools, nothing beats the psych library in robustness. And, yes, that includes other more popular languages with similar uses like Python.
A more complex example would be PHP. Even its most ardent defenders have to admit that it’s one of the quirkiest programming languages on the market. Yet, it’s still massively popular, and the reason is twofold.
First, PHP was adopted at a time where we had very few options for backend technology, so everyone jumped on the bandwagon of what was the most user-friendly alternative available.
Since then, the market for web development has flooded with alternatives like NodeJS and Python frameworks like Django or Flask. But PHP is still by far the most used backend scripting language. Why is that?
On one hand, PHP is the backbone of the internet, as over 79% of web pages use it. It has withstood the test of time, and even if developers don’t like it, that’s not a good enough reason to migrate your whole backend to a new solution.
Secondly, it’s the community. Just one look at the PHP repository shows how many people devoted to the language are actively working on it. A cumbersome language with a healthy, active, and helpful community is a better experience for a developer than working with a perfect language that they have to learn on their own.
Carving a Niche
Other programming languages survive by solving a very specific problem or by finding their place in a particular ecosystem. Objective-C and Swift are perfect examples.
Both are supported by Apple and are actively used for development within their ecosystem. Neither sees much use outside of it, but considering how huge Apple’s share in the mobile market is, that’s a non-issue.
Another great example is Clojure, a functional programming language that works on the Java platform. It might seem weird that the community, being Java the poster child of object-oriented programming, would need a functional programming language. And yet, Clojure has found a rabid fanbase among senior developers.
Some programming languages thrive, not because of their popularity or readability, but just because, despite all of their quirks, they do something that no other language can quite accomplish.
LUA is a scripting language that’s nothing to write home about—it lacks functionality and it’s relatively slow. But if you want to write a quick script, there is nothing quite like it. What it lacks in tools it makes up for in friendliness and simplicity.
The lesson here is that a programming language doesn’t have to be all-purpose to thrive. All it takes is for it to do one thing and to do it well.
Can a Programming Language Truly Die?
It’s common for people to say that unpopular programming languages are dead. But that’s not the case. As long as there are people out there who know about them, and computers that can run it, they are still kicking in thriving.
Apple has done everything in its power to push developers towards Swift, but there are thousands of developers out there who still know and work in Objective-C. The accumulated knowledge and time invested in developing the language doesn’t spontaneously disappear.
If you asked 99% of software developers where to start, it’s very unlikely that anyone would even think about mentioning COBOL—and that’s even if millions of lines of code are written in COBOL every single year.
The truth is that while the language might be obscure by today’s standards (it was created back in 1960), it’s the backbone of very important legacy systems worldwide. If you’ve used your credit or debit card in the last few hours, thank COBOL, as it’s one of the most common languages in financial systems.
Still, languages can fall from grace, or be forgotten in place of other alternatives. Ruby used to be extremely popular thanks to Ruby on Rails, but thanks to the massive growth in the web development market, it doesn’t make waves like it used to.
What Does It Mean for You?
If you are about to undertake a new project, it’s tempting to stick to what’s popular. But just because a language is widely embraced it doesn’t necessarily mean that it’s the right fit for your project.
There is a reason why senior developers often trail away from popular programming languages. After building their careers around these languages they feel constrained by their limitations and biases. So they look for alternatives in less popular, but still, very powerful alternatives.
No one can take away what we have achieved with C++, and it’s a language that’s not going away. But why don’t we give Rust a try? Among the obscure and sometimes arcane, hidden gems are waiting to be found.