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.

For those who want to know how the CPU works, there’s an excellent set of lectures available on YouTube courtesy of the Bilkent University (Turkey). Sure, not every course or book clicks with everyone, but personally I find that one extremely clear and well explained, so highly recommend to go and check it out if you’re interested.