I've written in C++ professionally almost 12 years (17 years counting College), and in my opinion it is a shame how the language has not evolved properly. Unsolved things: - Unified C++ ABI call for making shared libraries without worrying about compiler manufacturer or version. - Massive bloat. Take a look to the Boost libraries and cry. - Poor debugging tools for templates (debugging templates it is crazy, and the…
There's too many implementation decisions for this to be feasible. E.g., you'd have to standardize exception handling implementations and object layouts.
In practice, GCC has tried to standardize a C++ ABI for some platforms, but each proposed "standard ABI" has been buggy and required at least moderately backward-incompatible ABI changes between GCC releases.
> Massive bloat. Take a look to the Boost libraries and cry.
Define "bloat"? Large parts of Boost are absolutely horrid (e.g. Spirit), but I don't know what you mean by "bloat". Do you mean that the resulting object code is big?
> Poor debugging tools for templates (debugging templates it is crazy, and the promise of easy template debugging is almost a decade old).
Agreed. Hopefully clang is fixing that. http://clang.llvm.org
> Obsession for doing everything in "user-land" (e.g. source code templates) instead of built-in abstractions at object code-generation time instead of compile-time.
Huh? What do you mean by "built-in abstractions at object code-generation time"?
> C++ hour will come, with a non-bloated, system-software capable, "better than C", which could be labeled "simple C++", as in "simple English".
I was hoping that Digital Mars D would be the "Simple C++", but it feels like D is losing momentum.
(Sidenote: I've been programming in C++ for about 13 years, and am a recovering C++ "language lawyer".)