In nature, sports, and technology, as the saying I just invented goes, nothing lasts forever. Or does it?
With extinct animals and sports teams, there exists a certain amount of fond memorializing that continues long after they’ve checked out. Most were underappreciated in their time – which may have been a prime cause of their eventual decline. But while this may be true of the Cincinnati Royals and the Stephens Island Wren, “extinct” programming languages such as Fortran, Cobol, Pascal, PL/I, and ADA are a different story. The life cycle of coding languages usually follows a fairly formulaic plot arc:
Hot new language > super hyped > heavily used > overhyped > overapplied > rumors emerge of superior new contender > language dies or evolves into renovated version.
On the whole, core technologies tend to have a long lifespan – but the hype around them is usually short-lived. So how can the next generation of developers make sure to invest in the right programming languages?
It’s completely understandable that ambitious young programmers tend to reject older languages, opting for the currently fashionable trends instead, such as Vue.js, Information Security, and Kubernetes – to say nothing of Artificial Intelligence. But developers shouldn’t necessarily assume that if they are not working with a trending technology, this makes them less relevant. As long as they’re being challenged and working in an environment where their problem solving skill-set is constantly engaged, expertise in a wide array of systems will always be worthwhile.
As we see with trend cycles of programming languages and technology in general, things are always evolving and always moving. Swift and Scala, though the darlings of the coding world at their prime, just aren’t the sexy beasts they used to be – but it would be ludicrous to consider them irrelevant. C/C++/C# – is still on the rise, while surprising as it may sound, Woo’s research shows that candidates are not as passionate as they once were about functional programming. PHP, Flash, and Apache HTTP Server are on the road to extinction, but they’ve been an integral part of computing for so long that it’s hard to imagine them gone without any generational traces down the line.
Interestingly, two of the most in-use programming languages out there are also two of the oldest: Python, around since 1989, and Java, still Android’s official language. Other “evergreen” technologies worth including in your arsenal are MySQL, cloud, MongoDB, Node.js, and linux. The demand for skilled coders with these languages has fluctuated less than 10% over the last two years, making them a solid bet as your base.
Similar to defunct athletic teams which often move cities or change names, programming languages rarely disappear off the face of the earth entirely (sadly, this cannot be said about extinct animals). While considered dead to some, perhaps, the spirit of an old language lives on – there is almost always a relevant application or reincarnation to be utilized even in a no-longer-used coding language.
It can only be in the engineer’s best interests to actively maintain a well-rounded knowledge not just of current and emerging systems, but also those slightly outdated variants – which inevitable pop up in some way or another further down the road. This knowledge could very well prove useful as languages evolve and develop, many rising from the ashes of their outdated ancestry.
But even more importantly, immersion in a broad range of programming languages keeps sharp the most important tool in a developer’s arsenal – their ability to understand programming from a big-picture point of view, and come up with creative and insightful solutions for every scenario. The value of this knowledge-based agility is incalculable within an industry that changed, perhaps even extraordinarily, in the time it took you to read this article.