C++ Is TIOBE's Language Of The Year
Written by Harry Fairhead   
Monday, 09 January 2023

The accolade "Programming Language of the Year" attracts new attention to the winner. This year it is C++ that has taken the honor, having been the language that has seen the greatest year-on-year increase in its popularity.

During 2022 C++ gained 4.62%, compared to a gain of 3.82% for C and 2.78% for Python. Paul Jansen, who maintains the TIOBE Index was fairly confident that C++ would be the language of the year a month ago when C++ overtook Java in the ratings. This represented an important change since Java had for so much of its history been unassailably TIOBE's top language.

So what has accounted for the recent success of C++?

According to Jansen:

The reason for C++'s popularity is its excellent performance while being a high level object-oriented language. Because of this, it is possible to develop fast and vast software systems (over millions of lines of code) in C++ without necessarily ending up in a maintenance nightmare.

Jansen also points to the "constant publication of new language standards with interesting features" and he thinks that the recent C++20 publication, which introduced modules "will probably lift C++ further in the TIOBE index for the next few years".

Personally I find the proliferation of features in C++ something that makes an intrinsically complex language even harder. So while it is easy to make mistakes in C, the language it is based on, it is easy to make even greater mistakes in C++.

C++, which dates from 1985, was created by Bjarne Stroustrup at Bell Labs as "C with Classes", that is an object-oriented extension for C. Written in C, initially it was treated as a pre-processor to C and shared, and still shares, the advantage of every computer having a C compiler.

Stroustrup motivation for creating C++ was his desire for  an efficient and flexible language similar to C that also provided high-level features for program organization. He continues to be involved with the development of the language, see Bjarne Stroustrup Thinks He Has A Better Way To Do Generics.

Since 1998 the C++  standard has been overseen by the ISO, (International Organization for Standardization). Since 2012 it has been on a 3-year release schedule so the latest standard version, ratified and published by ISO in December 2020  and informally known as C++20 will be succeeded next year with C++23.

There is no question that Microsoft's adoption of C++ as its main system programming language has had a big effect on its popularity. People learn C++ just to work with Windows APIs. Microsoft's commitment to C++ is so great it doesn't even have a fully standards compliant C compiler - just a C++ one that does C as a subset. Contrast this with Linux where C++ is actively discouraged. To quote Linus Torvalds:

"C++ is a horrible language. It's made more horrible by the fact that a lot of substandard programmers use it, to the point where it's much much easier to generate total and utter crap with it. Quite frankly, even if the choice of C were to do *nothing* but keep the C++ programmers out, that in itself would be a huge reason to use C.

And there is a lot more on the same lines that suggest that C++ is not good for writing operating systems, which is completely at odds with Microsoft's opinion.

So is C++ worthy of the title "Programming Language of the Year"? For its performance that it has made progress on the TIOBE index, yes. But that doesn't make it a language fit for the future.



More Information


Related Articles

C++ Picked Out By TIOBE - An Odd Choice?

Bjarne Stroustrup On Why Learn C++

Bjarne Stroustrup Thinks He Has A Better Way To Do Generics

Learn C++ With Udacity 

In Praise Of C++ - Bjarne At ICPC 2013

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.



GR00T Could Be The Robot You Have Always Wanted

We may not have flying cars, but we could well soon have robots that match up to predictions for the 21st century. Nvidia has announced GR00T, a cleverly named project to build robots using foundation [ ... ]

Eclipse JKube 1.16 Goes GA

Eclipse JKube makes deploying your Java application to a Kubernetes cluster a breeze. Let's find out what's new.

More News

raspberry pi books



or email your comment to: comments@i-programmer.info

Last Updated ( Monday, 09 January 2023 )