3 ms·
> Unified C++ ABI call for making shared libraries without worrying about compiler manufacturer or version. There's too many implementation decisions for this
by jey 16y ago
> Unified C++ ABI call for making shared libraries without worrying about compiler manufacturer or version.
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 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".)
- viraptor 16y ago> I was hoping that Digital Mars D would be the "Simple C++" I was hoping for the same for a long time. Now my favourite "simple C++" is OOC (http://ooc-lang.org/ http://ooc-lang.org/). The syntax is a bit different (partially justified by faster parsing/compilation and has a lot of nice sugar), but it does support a lot of the good stuff: classes, generics, ability to use C-layout structures and attach "methods" to them, closures, pointers to allow easy C libs interaction and more...