About a year ago I decided to give C++ another shot, mainly because I am interested in graphics programming and gamedev and it is still the most widely used language for these purposes.
I used C++ to write a ray tracer (see previous post) and then started going through the Effective C++ series by S. Meyers. It didn’t take me too long to realise that I didn’t want to continue. Below is a screenshot from the notes I made while studying:
The reasons I decided to stop are:
C++ is a tool that you can use to make amazing stuff, but it’s a tool with so many footguns attached that you need to read a few books dedicated entirely to avoiding the language’s pitfalls to be able to use it.
C++ is huge. To reach a level where I’d be comfortable I’d need to spend a ton of time learning and programming in it, which is a very significant investment.
I highly doubt the language has a future, given the direction the C++ committee has chosen for it.
Many programmers feel miserable when using C++ and want to drop it but keep using it because of inertia
So, I reckoned that the investment was not worth my time, and checked out Go and Rust instead. I liked all the ideas behind Go, but decided to start seriously learning Rust because it better aligns with my personal interests.