3 ms·
You may not like the language, but it's managed to grow with a consistent story. Yes, there have been some missteps, like auto_ptr and vector<bool>, but it does
by knorker 4y ago
You may not like the language, but it's managed to grow with a consistent story. Yes, there have been some missteps, like auto_ptr and vector<bool>, but it does work together.
At worst you have to write small adapters because there's no equivalent of smatch for string_view, etc...
But compare this to Go, where contexts, error wrapping, generics, uh... error wrapping again (this multierror thing), horrible conditional build hacks, etc...
C++ is a big and complex language. But it's consistent. Go is a small simple language with lots of ill-fitting extensions added as core language features and standard library bolted all around it.
In other words: any language can be critiqued, and it often helps by showing that a deficiency is not unavoidable, by showing how another language has avoided it.
- twsted 4y agoI'm saying this after 20 years using C++, from AT&T CFront onwards, all the GotW, years of Boost posts, every Modern, Effective and Exceptional book read. I've loved C++, but now it is complex even with my experience.
- knorker 4y agoAgain, I'm not saying C++ is not complex. I'm saying the complex pieces fit. And that Go has the problem that the pieces don't fit together. (and that this is because it has a bad foundation) I have more than 20 years of C++ experience. Maybe more than 25. I'm surprised you used CFront 20 years ago. Is this like how in my head the beginning of the Unix epoch was "about 30 years ago" when actually it's almost 53?
- twsted 4y agoJust not counting the last ten years not using directly C++, only following its development for affection ;)