Why Programming Languages Die

image of a gravestone

Throughout the history of computers, countless programming languages have been developed. While some have endured, others quickly became obsolete. This has led me to question why languages like Fortran, which is over 60 years old, have stood the test of time, while newer and more advanced languages have faded away. In my opinion, a programming language’s survival depends on four key factors: its niche, relevance, popularity, and accessibility.

The niche

Programming languages that have stood the test of time often have a specific area in which they excel. This is true for both languages and the technologies that support them. Fortran is a prime example of a language that has survived due to its specialization in computationally intensive applications in science and engineering. This has made it a popular choice among major tech players like IBM and Oracle. C, which is over 50 years old, has found its niche in general computing, system computing, and embedded systems. Ada, which is 40 years old and unknown to many, is widely used in the defence and aerospace sectors.

Relevance

The relevance of a programming language is not solely determined by its niche. Factors like advancements in hardware technology and new programming paradigms can also influence a language’s relevance. To stay current, languages like Fortran, C, and Ada have undergone multiple revisions over the years. Just like spoken languages, relevant programming languages will evolve. Therefore, a language, its syntax, and its implementations need to be well-maintained and adaptable to the changing times. Accessibility The more accessible a language is to a wider audience the more influence Today, most popular programming languages are easily accessible for download and use, unlike in the past when it was a privilege to learn a new language. Back in the early 2000s, purchasing compilers, IDEs, libraries, and licenses for programming languages was common, making it an expensive venture for novice programmers. Fortunately, computing has become more affordable, and one can learn to program on a small and inexpensive computer like a Raspberry PI, with many freely available IDEs and software development tools. Even though there are still some costs associated with obtaining licenses and subscriptions to use certain programming languages, these expenses are typically only necessary when developing software in highly specialized circumstances. However, programming languages must remain accessible to stay relevant in today’s world. Ideally, popular programming languages should be freely available to users.

Popularity

The popularity of a programming language is influenced by the three factors previously stated: Firstly, popular languages are typically used in a particular area of development and appeal to a specific group of developers. Additionally, a language’s relevance and performance in that particular niche can also contribute to its popularity. Finally, the accessibility of a language can play a significant role in its rise in popularity. Even programming languages with initially flawed concepts can become popular if they meet certain conditions. For instance, JavaScript, also known as ECMAScript, gained popularity despite its initial shortcomings because it filled a unique niche, had minimal competition, and was widely available across numerous devices. Today, JS’s popularity can be attributed to its longstanding use in front-end web development. How they die or are banished into obscurity Fundamentally, lacking any of the four key factors mentioned could cause the death of a language.

Language Death

Death by niche

Programming languages can become obsolete due to niche markets disappearing. This is typically caused by technological advancements. When a niche market disappears, the programming language associated with it is likely to become obsolete as well. An example of a language that is currently at risk is Adobe’s ActionScript. This language was created for scripting Adobe Flash applications and animations but has lost support due to HTML5’s canvas animations, which use JavaScript. The future of ActionScript looks bleak. Another way for a language to become extinct is through competition with other languages. An example of this is Visual Basic (VB), a scripting language used for developing Windows applications. VB had a short but popular seven-year lifespan. However, it was eventually replaced by Visual Basic .NET due to its lack of compatibility with the .NET framework, which Microsoft saw as the future. VB .NET was created to help developers transition to .NET, even though it is syntactically similar to VB, it is also fundamentally different.

Death by unavailability

Throughout the history of programming languages, it has been common for a language to become obsolete if it is not accessible to a wider community. Usually, large enterprise organizations develop languages, which can be costly. To recuperate the expense, businesses sometimes propose selling their language to a broader audience. Depending on how this is achieved, it can either make or break the longevity of language. If the programming language and accompanying technology are accessible to a larger community, it has a better chance of surviving and gaining popularity.

Death by irrelevance

Over time, languages can lose their relevance for various reasons. This can be due to neglect by language authorities or competition from newer, more relevant languages. Usually, there is some governance issue involved when a language becomes irrelevant.

Considering some languages

Go lang

Java

Python

Final thought

Fundamentally, questioning how much life a programming language has left in it is a primary concern of not only software developers but also businesses. That is, there is a need to ensure the technologies used today remain relevant for tomorrow within their respective niche. And if we can foresee the potential decline of a particular piece of technology, this provides us with foresight, allowing us to maintain a competitive advantage.

Revised: 2nd May 2023