It Still Has the Best Performance
C++ is still one of the most efficient languages out there for anything computationally expensive (as well as memory intensive in certain cases). Whether you like it or not, python is still an interpreted language, and while the speeds might be faster now, they still will not match C++ in the end because of this fact. Java, while easier, is just too bloated to come close to winning, and while not everything in C++ is portable, it's way better than C# is generally (Sorry guys, mono is still bad, I would know, I've tried to use it for projects before, though things like Unity can help to a degree to lessen the pain for game developers). While many languages are working on catching up (C# is now open source for example) and other languages are coming along (Go and Rust), I don't foresee them topping C++ for a while still, simply due to how long C++ has been around.
|Virtual reality games are a perfect example of the|
need for efficiency in applications.
With many consumers switching to cloud-based applications, a large amount of servers also need to be able to do large amounts of computing. As a result, these too need the performance gains of a language like C++. Many of the major applications are still written in C++ as a result of this (Apache, a popular web server used on Linux, is still written in C). A language like Java just doesn't provide the ability to do things like provide web pages to a large amount of users all at once quickly and efficiently. Even applications like Photoshop are still written in C++, because you just can not squeeze enough power out of a language like C# or Java and do everything that Photoshop does. A quick Google search of many of your favorite programs will probably yield similar results: C++ is everywhere still because it has such a great performance.
It's a Valuable Asset
C++ is an old language, and a lot of the things it does are things that newer languages do in the background (IE: Memory management). Because of that, learning how to code in C++ can help you better understand how languages like Java and C# do memory management. This in turn means that when you use these languages, you know better what you can do to get better performance out of them. Plus, many of the things you learn in C++ can be translated to other languages still, meaning you can still learn things about more modern languages, but more in-depth.
On top of that, C++ is still a highly used language in the world (As indicated by its TIOBE index). This means that many companies are probably still using it, which would mean that companies are hiring for it. As a result, knowing C++ can increase your "market value " when looking for a job if this is true (which it probably is based on how the TIOBE index is calculated). This makes sense, especially since C++ still gets update (why update an "out of date" language). A quick Google Search for C++ jobs shows that many companies are hiring for C++ developers, so this can be very helpful when you start your job hunt.
In the end, I highly recommend learning C++, and coding a specific project with it as well. There are plenty of fun libraries for it still, and tons of fun things you can do with it. There are still plenty of uses for it in the real world, you just have to look for them! Feel free to leave your comments below! What are your thoughts on learning C++?