Programming languages never die, but they may fade away: technologies that will disappear in the next 5 years

These days numerous programming languages are being used in the world. Among them there are those that are not more (or never been) as popular as Python, Java, C/C++, PHP, or JavaScript. Let’s have a look at languages whose future becomes increasingly obscure over the next few years and elaborate on the reasons why they lose wide recognition. And what a company may do if a piece of infrastructure is based on one of obsolete technologies?

1. Objective-C

A decade ago, it was not to be expected that this language would shade away. Implementing an object-oriented approach to C programming was an integral part of the Apple strategy (and NeXT). Obj-C is exclusively associated with Apple. That’s because this language was used as a core for macOS and iOS from 1996 till 2021. It was rarely applied by developers outside the Apple community (and will hardly be).

Why wasn’t Objective-C popular outside Apple? Firstly, because it was not intended to be. Technologies gain popularity if they are free to obtain, support and invest. Obj-C was never a thing like that and was designed for an exclusive purpose.

Secondly, developers encounter problems like the lack of a good code formatter, forbidden multiple inheritance and other issues that add complexity. Plus being unsupportive of a namespace mechanism and operator overloading, Obj-C becomes uncompetitive among modern languages.

The third and the main reason for the end of Objective-C is Swift. It was also created by Apple and for Apple as an alternative to Obj-C. But in contrast to its ancestor, Swift is one of the most prosperous programming languages today with a large support community. The developers of Swift removed a large part of the complicated C base and introduced a bunch of advantageous features which made it widely attractive (what is more, open-source!) technology.

According to the RedMonk ranking from 2021, Objective-C is at the end of the list (with rate 19), but it is still there. While a part of the existing iOS applications are still written in Objective-C, the most efficient way to modernize them is conversion to Swift. It is fast, safe, with automatic memory management and dynamic libraries and many other most-wanted features.

2. Erlang

This programming language first gained distinction in the 1980s, and became open-source two decades later. Erlang is a very specialised language with an intricate syntax, designed to do a few things well. It is relatively popular among functional languages for its ability to deal with a large number of requests simultaneously and support parallel processing.

It served as a basis for many applications including messagers (e.g. Facebook, Whatsapp, Motorola, Yahoo!) and financial systems. Functional languages work like mathematics and help financial programs process thousands of transactions.

Regardless of great efforts throughout the years, functional languages have never enjoyed wide recognition. Erlang isn't even mentioned on the TIOBE Index. The weaknesses of this technology become prominent when it comes to operations like debugging and code maintenance. Erlang is scalable, it offers built-in distribution and failure detection ability, but it is in no case an all-purpose language.

Although Erlang will certainly remain in use by adherers for a long time, the summer of Erlang’s life has definitely passed.

3. Haskell

Haskell is another one of legacy languages that were created decades ago and remained in use till now but in certain circles only. Along with Erlang, it is among the most common functional languages.

Haskell never seemed to gain the backing of a large user base. It is mostly preferred for developing programs for researchers and scientists who perform complex calculations. In May 2021, Haskell was the 28th most popular programming language in terms of Google searches for tutorials and made up less than 1% of active users on the GitHub source code repository.

This functional language offers impressive technical capacities for programmers. An elegant syntax and rich library of data types make Haskell a powerful instrument for scientific tasks.

Meanwhile Haskell is generally considered very difficult to learn. It can take months to master it, especially without a computer science or mathematical background. It means that some programmers do not have the ability to learn it. So, the main stumbling block of the success of Haskell is its complexity.

Moreover, Haskell IDE capabilities are poorer and incomparable with abilities of modern IDE like Eclipse, PyCharm or Visual Studio. In addition, Haskell is unappropriate for mobile development.

The difficulty of learning resulted in a very limited quantity of active users and a small community. There is a dedicated group of followers of Haskell, preventing it from fading away completely. Unfortunately for Haskell, its era is quickly approaching the end. And yet, even if it won't disappear soon, resting hopes on Haskell to rise to popularity hardly makes sense.

4. Perl

When Perl was introduced in 1987, it was commended as a language for everyone. It was intended to be widely adopted for different purposes and be easy to learn by beginners and professionals.

A few years later, Python entered the arena and got in the way of Perl. Since the competitor had a larger and more accurate syntax, this made it much more unsophisticated for developers to achieve their coding goals with scripts. It began to overshadow Perl in the 2000s, as it became a breakthrough technology for Perl users.

The release of Raku in 2019 designed by the creator of Perl discouraged the rest of the developers from using it. Formerly known as Perl 6, Raku was a mix of elements of many contemporary and historical languages. Compatibility with Perl was not a goal of its release, but a compatibility mode is a part of its specification.

Many developers who interacted with Perl prefer alternative technologies to code now. They often complain about the difficulty of fixing bugs in comparison to other programming languages. Coupled with another disadvantage which refers to text manipulation causing difficulties in catching errors, it makes Perl losing traction. This technology seems to lack developer-friendliness and convenience. Moreover, Perl cannot be used for web development.

Despite not being widely recognized, Perl has its own importance to developers. Perl occupies the 18th place on the TIOBE index now, because it remains important in areas like intelligent data processing and analytics.

The recession of Perl has been taking place irrevocably over the past 15 years, but it is quickly turning into technology closely related to legacy codebases only. Plans for future version releases counter the argument that Perl is already a dead programming language. Will it keep Perl from going in the tail of the column?

Summing up

In no way these languages are worthless. Every programming language is unique and plays its role in the IT world. However, the role of some programming languages may be drawing to a close. And the new ones come into the arena.

There is a large number of macOS and iOS applications already written in Objective-C. Databases and applications based on other languages mentioned above are still in use in certain niches. Consequently, developers with the know-how to understand and provide maintenance services will be demanded. New projects involving obsolete technologies will be few and more likely related to application conversion to modern languages.

The most effective strategy of modernizing legacy elements in a company's infrastructure is migrating them to Java, Python, C++, C# or other modern languages.

Legacy languages a developer may learn if he pursues coding as a hobby. The majority of programmers are likely to prefer trendy and advantageous technologies to dive into in the next few years.

Would you like to know more about LSMSoft Professional Services? We analyze your project quickly & share our approach.