Earlier quoted context omitted.
There are plenty of languages in use that people genuinely enjoy using [1]. A lot of complexity in languages tends to be completely incidental. It's often not inherent in the problem the language solves, and it's just a design decision somebody made based on their aesthetic and experience at the time. A lot of people seem to take pride in memorizing these quirks, but they're just that. There's nothing fundamentally i…
I can think of only two C++ "quirks" that meet the definition of "just mental clutter; nothing fundamentally interesting about them." 1. Nested templates closing brackets conflicting with `>>` operator, necessitating `> >`. This was fixed in C++ 11. 2. Syntax for declaring an automatic variable conflicts with the syntax for C function type: `Thing mything();`. Those two certainly seem to be "unforced errors" where th…
C++ goes completely against the principle of least astonishment.There is a huge amount of mental overhead to reading and writing code in it. All that distracts you from the problem you're actually solving and directly translates into long development times, defects, and maintainability nightmares.
I don't think the complexity of the language ultimately justifies the goals it's trying to accomplish.