There is an interesting post on Medium aiming to inspire students why to learn C++. Its main point is that learning C++ teaches fundamental computer science concepts: memory management, compile-time vs run-time, polymorphism implementation, iterators and containers, and more. Unfortunately, it phrases itself in an exclusionary manner. While C++ is not the only language where you can learn these fundamentals, it is one of the most popular.
However, with dozens of coding “boot camps” popping up and charging thousands of dollars for the promise of a quick path to a software development career, why should you consider learning a complex language like C++?
Here are three key reasons to learn and use C++ today:
It’s Widely Used
Support and Future
Let’s look at these in order.
C++ is one of the most common languages used to teach strong foundational knowledge that is applicable to all other languages. There are many core concepts you can learn with C++:
Allocating and freeing; use of pointers, and very quickly why you should not manually manage memory
Different memory management models: reference-counted in the form of shared_ptr; strict ownership in the form of unique_ptr
Ownership and deterministic behaviour, illustrated by RAII (see C++ specifics)
Polymorphism behaviours: this one is in fact illustrated by some odd behaviours of C++, such as that the type identity of an object changes throughout its construction – hint, what happens when you call a virtual method in a constructor?
Fundamental containers and algorithms
Optimizations: what causes fast or slow code?
Functional programming: while not a pure functional language, functional style is a direction the language has been heading and is very powerful in C++
If you learn C++, you will have a solid background that will allow you to understand other languages’ designs and implementations.
It’s Widely Used
C++ is the most widely used language for software today, especially in areas requiring performance. The following applications are written totally or mostly in C++:
Windows (key area, including the new wrappers for XAML and desktop in C++17)
Amazon’s key services
Large parts of Apple’s macOS
Bloomberg’s financial software
And many more.
Why is it widely used?
Because C++ is powerful, expressive, concise, and performant. When you need to write solid, fast, applications and need powerful concepts in your code, you use C++.
Support and the Future
Finally, one key item in learning a language is the direction it’s going in the future. C++ is an ISO standard, and is evolving rapidly. You can read an overview of the various standard versions here.
It’s a language that is being kept up-to-date and extended as developers need it. That’s a language to rely on.
Ready to Get Started learning or expanding your C++ knowledge? Start with our free tools and C++ Bootcamp replays.