Are C and C++ still relevant and are they worth learning?

I hear this question almost every day.

Yes, the two languages, C and C++ (they are two distinct, separate languages) are very much still worth learning.

Neither language is anywhere close to dying (at any speed). Both are here to stay, both continue to evolve, both are heavily used in a wide variety of areas (not just OS and hardware programming), and both are still in demand.

  • Consider one of the most popular languages today, Python. If you need to extend it or produce a high-performance library for it, you use C and C++.
  • Consider Java, another popular language. What languages are typically used to implement the required JVM runtime on each supported platform? A combo of C and C++.
  • Wonder what Adobe uses to implement its flagship products? C++.
  • Need to develop a plugin for the Adobe Premiere Pro CC video editor? C++ is the language of choice.
  • Is IoT (the Internet of Things) a growth area? Sure, and C and C++ are the major languages in that space.
  • Need a high-performance computer vision library? OpenCV is vary popular, and is implemented in…you guessed it, C and C++.
  • In fact, most high-performance libraries are implemented in C, C++, or some combination thereof, even if they’re callable from a variety of other programming languages.
  • Need to develop a compiler and use the LVVM infrastructure? It’s written in C++.
  • Need to develop a AAA game or high-performance game engine. Chances are you’ll be looking at C++.
  • Many applications today use C and/or C++ for their internal, high-performance components, and use some other language for the user interface. I have worked on several applications like this for clients in recent months.

In both my software/firmware development consulting practice and my software developer training business, I see no signs of decreased demand for either C or C++. In fact, I have seen an uptick in demand for the languages in recent years.

Keep in mind that programming languages are just tools. They are a means to an end. (They’re not an end in themselves, unless you’re developing compilers and related development tools.) The first table saw was invented in 1777, but table saws are used every day. Sure, they have evolved over time (as have C and C++ since the 1970s and 1980s), but they are still useful tools, and they’re pervasive.

If someone told you that C and C++ are dead or dying, or that the languages are only used for developing operating systems or controlling hardware, they are sadly misinformed. If you dismiss or ignore C and C++, you’re just skimming the surface of the technology world. The real action is happening just under the surface, and chances are it’s implemented in C or C++ or both.

You might also be interested in this blog post.

Leave a Reply