kornienko - Fotolia
Just as some spoken languages have faded into history, programming languages also face the risk of obsolescence and extinction. Though their profound influence on development techniques and coding styles certainly still resonates, languages like ALGOL and LISP don't enjoy nearly as much prominence and acclaim as they once did. It's only natural that some of the languages we use today will follow the same path.
In no way does that mean these languages will disappear entirely. There will be plenty of legacy codebases written in these prophetically dead programming languages, and a need for developers with the know-how to understand and maintain them. Just look at legacy languages like COBOL, which still sits at the heart of countless enterprise software systems (including Fortune 500 companies).
In this piece, we'll look at five languages that may start to see their use become increasingly obscure over the next decade. Is it worthwhile to sharpen your skills in these languages and potentially carve out a unique brand of skills for yourself to rely on later in your career? Or is their uncertain future enough of a reason for you to abandon your interest in them? Take a look and decide for yourself.
Erlang first gained notoriety in the mid-to-late 1980s, and later released to the open source community in 1998. It's a well-respected and battle-tested programming language known for its resiliency, reliability and concurrency. Erlang gained considerable favor among developers for its ability to field enormous numbers of simultaneous requests, support parallel processing and perform comprehensive garbage collection. As such, it became a basis for many online messaging apps and financial systems that process thousands of transactions per day.
Despite its long history, Erlang never gained a large following of users -- it isn't even featured on the TIOBE Index of top-50 languages. Unfortunately, the language shows its age a little when it came to tasks like debugging and code maintenance, especially for novice developers. Newer concurrent languages, such as Elixir, make it a point to simplify these tasks through static typing and data immutability. Because of that, there are a lot of developers that might wince at the complexity of its syntax and a conspicuous absence of accessible feature libraries.
Although Erlang will certainly remain in use by dedicated devotees long into the future -- particularly for large, highly transactional systems -- its colloquial heyday might have passed.
Haskell is another legacy language that never seemed to attain the strong user community needed to ensure long-term adoption and success. Like Erlang, its main detractor is its complexity. While its refined expressive syntax and rich collection of data types certainly make it a powerful language for functional programming, these qualities also make coding (and learning to code) in Haskell a somewhat formidable endeavor.
Despite its impressive technical capacities, a tough learning curve might be enough to ward off newer developers. There is a dedicated, small community surrounding Haskell today, keeping it from becoming a truly dead programming language. However, while it won't disappear for a while yet, don't bank on it ever gaining the influence its designers envisioned when they introduced it in the early 1990s.
If you learned to code in the '90s (particularly during the Microsoft monopoly) there's a good chance that Visual Basic (VB) was the first language you tinkered with. Developed to be an easy-to-learn and easy-to-use language, VB has been a longstanding, bread-and-butter language for Windows-based development.
It's fair to say VB isn't the most elegant of languages, nor is it a suitable language for complex, enterprise-scale coding projects. However, when you need a simple way to build a program, VB gets the job done. Despite the fervor of VB's fans, Microsoft has been trying to kill the language for years, presumably in order to push developers toward the more web-centric .NET framework. Microsoft declared VB a legacy language more than a decade ago.
Despite this, VB currently ranks in 18th place on the TIOBE Index. A combination of Microsoft's waning support and a limited exposure to up-and-coming programming students doesn't bode well for the language. Despite its strong community and curious spike in popularity at the moment, VB makes the list for languages that may gradually sink into history.
Ten years ago, it would have been crazy to suggest that Objective-C was marching toward oblivion. Taking an object-oriented approach to C-based programming was an essential part of the Apple ecosystem (and, eventually, the company NeXT), where it served as a backbone of macOS and iOS programming.
However, this dynamic changed when Apple introduced Swift in 2014 in order to feed market demand for server-side and cross-platform app development. As of spring 2021, Objective-C ranks in 20th place on the TIOBE Index, compared to 15th for Swift. What's more: A 2020 developer survey by Stack Overflow identified Objective-C as the second-most "dreaded" programming language (after Visual Basic for Applications).
The good news for fans of this language -- which is still perfectly usable for modern development -- is that it's unlikely to disappear anytime soon, thanks to the large numbers of macOS and iOS applications already written in Objective-C. Not all of those apps are readily portable to Swift, nor would it even likely be necessary to do so. Unfortunately, Objective-C is unlikely to be the go-to language of burgeoning macOS and iOS developers in coming years.
Perl was conceived in the 1980s as a scripting language designed for Unix system administration tasks, and subsequently gained popularity as a general-purpose programming language. Despite its age, the language hovers in 19th place on the TIOBE index, as it remains important in areas like data science and analytics. However, Perl commands much less mindshare now than it did a decade ago.
The release of Raku in 2019 -- a Perl spinoff designed by the language's creator, Larry Wall -- profoundly undercut community enthusiasm for Perl. Plans for future version releases counter the argument that Perl is already a dead programming language, but it is quickly turning into one that may find itself confined to legacy codebases.