Recently I came across multiple posts about the topic “Is C++ Dying?” on Quora, reddit. LinkedIn and many other forums.
Mainly, focus of the questions are:
- Is C++ less popular now?
- What is the main purpose of C++ today?
- Is C++ becoming a legacy language like FORTRAN and COBOL?
- Are many developers still using C++?
- What is the future of C++?
Answer to the general question “Is C++ still relevant in 2023?” is a big YES.
Is C++ less popular now?
According to StackOverFlow Developer Survey Results, C and C++ both are in the top 11 “Most Popular Programming Languages” under Programming, Scripting, and Markup Languages category.
Similarly, the “Very Long Term History” of programming language popularity in Tiobe Index, shows that C has always been at first two positions since 1985 whereas C++ has always been in top five positions.
As per another industry analyst firm RedMonk, both C and C++ are in top 10 programming languages in June 2022.
According to PYPL PopularitY of Programming Language Index, which is created by analyzing how often language tutorials are searched on Google, shows that C/C++ at number Five in Worldwide February 2023 index.
Finally, GitHub statistics shows that both C and C++ are the best programming languages to use in 2023 as they are still in the top ten list.
So answer is NO. C++ is still one of the most popular programming languages around.
What is the main purpose of C++ today?
Many C and C++ projects that exist today were started decades ago.
For example, UNIX operating system was rewritten in C in 1972. Oracle database was re-written in 1983 from Assembly into C. Similarly, development of Linux kernel in 1991, and it is also written in C.
Therefore, one purpose of C/C++ being used today is to maintain decades old code and there is no way it can be replaced with another programming language in the near future.
The Programming Languages Beacon pinpoints applications, which are still being actively developed in C/C++ or major portion of them. For example, most of Microsoft flagship products are written in C++ (and C, like the Windows kernel).
C++ can be thought of as the dark matter of the developer universe: there is so much of it all around us, hiding in the computational shadows, powering so much of what we take for granted, technologically.Channel19
C++ is still being used to develop Desktop based applications, Games and Gaming Engines, 2D and 3D animations, Developing Web Browsers, Database Software, Media Access Software, Compilers, Operating Systems, Printing and Scanning Applications, Engineering and Medical Applications, Embedded and Real-time Applications.
Is C++ becoming a legacy language like FORTRAN and COBOL?
C/C++ is still powering the world despite number of new high level programming languages. Most of the major software applications including Adobe, Google, Mozilla, Oracle are all written in C/C++. There is a complete article on list of best applications written in C/C++.
Similarly, most of the Microsoft software are developed using various flavors of Visual C++ or simply C++. Few parts of Apple OS X are written in C and Symbian Operating System (discontinued mobile operating system) was also developed using C++.
Most of the embedded systems also powered by C. They’re mainly programmed within the C language, thanks to the language’s options of flexibility, efficient memory management, real-time performance, and closeness to the metal (hardware).
C++ is still dominant in gaming industry which is bigger than the film Industry. Many of the biggest and popular games and game engines are written in C/C++.
Are many developers still using C++?
Many higher level programming languages allow developers to be more productive than with C for different kinds of projects.
However, there are lots of reason why C/C++ is still being used by many developers and will remain active for a long time. Such programming has less visibility than that occupied by many other programming languages. C++ programmers and employers tend to be a relatively closed group that the rest of the world does not see much.
C is the most portable and efficient language because it is as close to machine language as possible. C has a very small run time and memory footprint for its code is smaller than for most other languages.
Low level memory management and pointers make it perfect choice for system programming and writing Operating Systems.
What is the future of C++?
The beauty of C++ is that if you understand it, you should be able to switch to any new programming language with less effort.
When learning C++, you are learning some of the core concepts of programming.
Here is a nice discussion on what will happen to C/C++ in the next ten years. Few years ago, C++ 17 was introduced with lots of new and interesting features and new C++20 version is almost ready. So, the language is constantly evolving with time and adding modern features for example Three-way Comparison.
The four-standout features of C++ 20 that were initially perceived in “The Design and Evolution of C++” back in 1994 are 1) Modules, 2) Ranges, 3) Coroutines and 4)Concepts. These features will simplify the use of C++ further.
C++ is still successful in areas where real time performance, micro memory management, large-complex applications and embedded systems are being developed.
Writing games and simulations in C++ alone assures its existence for a very long time to come.
One way to calculate developer demand is to analyze job postings data. C++ is still the fourth most popular programming language among employers as well.
In conclusion, C++ will continue to remain popular and in high demand owing to its performance, reliability, and the wide variety of contexts in which it can be used.
If you are interested in learning C++, consider buying these books. However if you are professional C/C++ programmer then here is list of C Books for expert programmers.