We often say that the better is the enemy of the good, but is this also true about the programming languages? Is there a place for such “ancient” technologies as C or C++ in the world of continuous, exponential development? Let us dwell on this question for a moment, analyzing the popularity and adaptation skills of these tools in modern times.
C++ – a gist of history
In 1969, Dennis Ritchie created the C language – valued by the programmers of the time above all for its simplicity and convenience of use. It’s what immediately made it incredibly popular. This language was used to implement one of the oldest operating systems – UNIX (now used as a base for Linux and macOS systems, among others).
The 1980s were not only the times of colorful nylon tracksuits and disco music. For Bjarne Stroustrup, this was the time to start working to improve the C language. Later, the language developed by the Danish computer scientist will be called C++. This is an obvious reference to the C increment operator – perhaps the most popular operator next to the assignment one.
But what did he want to achieve, since C was, by those standards, a language close to the ideal? Well, he wanted to expand, not change. One of the basic assumptions would be that the new, better version of the language would combine the performance of C, but add object-oriented properties observed in other languages. An important expectation was also the backward compatibility of these two languages. Mr. Stroustrup combined the best in his opinion elements of other programming languages (Simula, Algol 68, Ada, etc.) into C++. He created the Frankenstein monster (Stroustrup monster may be more relatable 😉 ), which was about to dominate the race for popularity. The work ended officially in 1983. The project was then called “C with classes” or “New C”. Finally, anyone could write “Hello World” in a new and better C.
C++ – modern times
The C ++ language, although it is over 35 years old, is still being developed today. In 1998, the C++98 version was released and it was supposed to officially standardize the language. After C++98, C++ evolved relatively slowly until 2011. The C++11 standard was released, arguably the biggest update to this day – adding numerous new features, enlarging the standard library further, and providing more convenient ways to things by C++ programmers. Since then, a new standard has been released every 3 years. Next one is planned to be published in 2023.
How popular is C++?
But let’s get back to the question at the very beginning. Is C ++ planning to leave us any time soon? Will it be ousted by any of its younger colleagues? Let’s look at the latest results of the TIOBE Index research:
And the same research but in a wider time domain:
As you can see in the pictures above, C and C ++ do not plan to retire. Not only that, as at the beginning of 2021, C is the most popular programming language. It may be due to many factors.
For one, the fact that many programmers begin their programming adventure with C or C++. Despite the fact that they are not the simplest, they allow you to understand the core concepts of programming perfectly. An important aspect is also the growing popularity of the IoT field. Now everyone wants a watch that counts steps, a scale that remembers our weight loss progress, a brush that compares our diligence in brushing teeth with a neighbor, or shoes that analyze the speed of our run in real-time. Most often, the language chosen for these tasks will be C or C++ (I deliberately do not write C\C++ language, because such a language does not exist, and the LinkedIn environment seems to forget about it ;)). So, basically a huge piece of cake called embedded programming belongs to these “bearded” languages. Mainly thanks to flexibility, efficient memory management, and bare-metal programming capabilities.
But these aren’t the only areas where C or C ++ are at the fore. These languages continue to power many modern applications despite substantial competition. Companies such as Adobe, Oracle, Google, Microsoft, etc. use the benefits of C++ to this day. Many applications are already written in C++ or C, and as you probably know “when it works, it’s best not to touch it”. So it will be easier and more effective for them to maintain the code than rewriting the legacy into newer languages. Especially keeping in mind that thanks to the continuous development of C++, it has nothing to be ashamed of.
We can’t forget that C++ still dominates game development – an incredibly fast-growing industry in recent years. Many engines are written using this technology (for instance Unreal Engine or Red Engine). So thank you Bjarne for Cyberpunk2077 I guess.
Answering the title question, is C ++ planning to retire? No.
Originally created for Iteo.