Latest Articles

C++’s Strengths Keep it Relevant in an Age of Code Bootcamps

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:

Technical Foundation

It's Widely Used

Support and Future

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

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?