this post was submitted on 08 Jun 2026
297 points (98.7% liked)
Programmer Humor
31894 readers
508 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 3 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
My first ever big boy language was C++ (after Basic, and Logo, does anyone remember that lol). I was in middle school, tried to self-learn from learncpp.com, only to realize that I had mostly learned C, with cin-cout instead of printf-scanf. So I just decided to migrate to C. Nowadays, I mostly code in Rust, Go, and Python. But my experience with C has been extremely helpful. Can't say the same about C++ though.
C++ is useful for learning object oriented programming: Describing what really happens in constructors and destructors, the pros/cons of reference counting and how it actually works (using std::unique_ptr)
These are things that most modern languages try to hide/abstract away, but the underlying problems and limitations never go away, but with C++ you'll have a better understanding of why they happen.
However, if you go down the rabbit hole of Template Metaprogramming, I agree with the original post: it takes decades to learn and really only ~~useful~~ exploitable in C++.
I don't disagree that the language is a great way to build an understanding of object lifecycles, but in my experience C++ ctors and dtors are also the biggest source of confusing footguns I've ever encountered in any programming language.
Separately, template metaprogramming is a whole different beast. It's an extremely powerful tool, but to me it also feels like finding the correct incantation to get it to do exactly what you need for more complex scenarios. It can be really fun if you know what you're doing, but it also tends to make me very upset at the compiler when my incantations are a bit off.