This graph cuts off early. Once you learn that pointers are a trap for noobs that you should avoid outside really specific circumstances the line crosses zero and goes back into normal land.
Pointers are great for optional references.
Hot take, C is better then C++. It really just has one unique footgun, pointers, which can be avoided most of the time. C++ has lots of (smart)pointer related footguns, each with their own rules.
The graph goes up for me when I find my comfortable little subset of C++ but goes back down when I encounter other people’s comfortable little subset of C++ or when I find/remember another footgun I didn’t know/forgot about.
When I became a team leader at my last job, my first priority was making a list of parts of the language we must never use because of our high reliability requirement.
That’s one thing that always shocks me. You can have two people writing C++ and have them both not understand what the other is writing. C++ has soo many random and contradictory design patterns, that two people can literally use it as if it were 2 separate languages.
my comfortable little subset of C++
I also have one. I call it “C”
The C++ feature set is a giant tome written in an unsteady hand and bound with suspicious leather. You’re supposed to study it deeply, use as little as possible, and ideally have a backup plan if things go wrong for this plane of existence.
Compared to Assembly language, C++ is fantastic! :-P
It’s actually a lot worse than ASM, there are far more ambiguities in C++. And yet here I am, still developing with it some 30+ years later.
Don’t worry, I’m using Rust were it makes sense.
Where does using Rust not make sense?
I like C# better. Ok, I’ll see myself out.
More like Java#