Some things get better with age, like wine, and whiskey, and cheese. And jeans. And, apparently, cast-iron skillets.
Technology doesn’t age well
Nobody ever says that technology gets better with age. Old technology is … well, old technology. Have you ever tried to install your favourite app on a not-so-smart older cell phone?
It seems that as soon as we buy that new cell phone or tablet or computer, a better one hits the market.
Here’s a fun fact. The Electronic Numerical Integrator and Computer, better known as ENIAC, was developed in 1945 at Princeton University. Scientists were excited about its computational power, speed and programmability. It cost almost 500,000 dollars (more than 6 million dollars today), and weighed 30 tons.
ENIAC, the world’s first digital computer, had six primary operators. These women were the world’s first digital computer programmers. (Source and image: Phillyvoice.com)
I found a 2013 comparison between ENIAC and an average cell phone. The cell phone costs about 17,000 times less, is 40,000,000 times smaller, uses 400,000 times less electricity, but is 1300 times more powerful! (And that was a 2013 cell phone.)
What about programming languages?
Some developers are always looking for the latest programming language. Junior programmers, in particular, often worry about learning an “old” language.
The TIOBE Index for October 2019 made this point:
“Every year new programming languages emerge and seem to become popular, but in fact not much changes. If we compare the current TIOBE index top 8 of today with the one of 2014 (5 years ago) and 2004 (15 years ago), there is only one different programming language.”
I couldn’t find an updated statement in that regard. But the very long-term history section of the Tiobe index indicates that 7 out of the current top 10 languages have stayed the same from 2004 to 2024.
C and C++ dominate for over 20 years
Both C and C++ were created before IBM introduced the Personal Computer (PC), and before the Internet existed. In tech terms, that’s very, very, very old.
Despite all the competition, these two programming languages have always been in the TIOBE index top 5
- The C language was developed in 1972/3. It was the TIOBE language of the year in 2008, 2017 and 2019. Its highest position on the TIOBE index was #1. Its lowest position since 2001 was #3, which is its current ranking. In more than 20 years, it has always been in the top 3 languages!
- The C++ language was developed in 1979. It was the language of the year in 2003 and 2022 – 19 years apart! Its lowest position on the TIOBE index was #5 in 2008. In August 2024, it hit its highest position at #2.
P.S. Tiobe doesn’t have enough info for me to be 100% sure, but it seems C and C++ hold these records all the way back to 1989!
C and C++ power your world
Don’t believe me? Here are some ways that C and C++ power your world:
- Your operating system is developed mostly in C and C++. That’s true whether you are running Windows, Linux, Mac OS X, iOS or Android.
- Your database management system is probably written in C and C++. That’s true if you are using Oracle, Microsoft SQL Server, MySQL, and PostgreSQL.
- Do you drive a car? Own a microwave? Watch TV? We use devices every day that contain embedded systems. And almost every embedded system contains C and C++.
- Are you a gamer? Serious gaming engines, like the one used in Call of Duty, contain lots of C and C++ code.
Take a moment to think about that. The technology you use today relies on programming languages developed in the 1970s. That’s amazing.
Must I learn C and C++?
When it comes to choosing a programming language, there is no such thing as “one size fits all”.
It’s like choosing a car. If you want to start a gardening or building business, a bakkie (pick-up) is a good choice. If you are planning a big family, choose something with plenty of seats. If you want to park in small spaces, you need a nippy little run-around. If you want an amazing driving experience, splurge on a sports car.
Many business systems don’t justify the investment in C++. And using C to build a web application would be like buying sheep to make wool to knit socks, when you can just buy socks.
But if you are serious about programming, here are some good reasons to learn C:
- You will master other programming languages faster.
- You will learn how to improve the performance of your code.
- You will develop a better understanding of computers. Even with modern programming languages, there comes a time when you need to understand fundamental computer theories about architecture, compilers, operating systems and networks.
- You will be able to create fast, portable, efficient programs for embedded systems.
C is the foundation for C++. If you want to build solid C++ skills, you need to understand the foundation. (Just read up where the name ‘C++’ comes from, and you’ll understand.)
Why learn C++? C++ is hard-core. It’s not for the faint-hearted. But if you want high performance and high reliability, it is still the language of choice.