![cppcolors | Embarcadero RAD Studio Delphi C++Builder Blogs](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2020/08/cpp_colors.jpg?resize=1140%2C628&ssl=1)
Author: Rebekah D
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. C++ is not the only way to learn the necessary knowledge, but it’s one of the most popular.
However, with dozens of code boot camps out there promising quick paths to software development careers and focused on other languages, why should you still take the time to learn a complex language like C++?
Here are three key reasons to learn and use C++ today:
-
Technical Foundation
-
It’s Widely Used
-
Support and Future Opportunities
Let’s look at these in order.
Technical Foundation
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++:
-
Memory management:
-
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 behavior, illustrated by RAII (see C++ specifics)
-
Polymorphism behaviors: 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 Explorer
-
Photoshop
-
Word
-
Clang compiler
-
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.
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition