On Thursday, 12 July 2012 at 04:15:48 UTC, Andrei Alexandrescu
wrote:
2. C++ has very, very successfully avoided the necessity of
planting polymorphic comparisons in base classes by use of
templates. The issue is template code bloat. My impression from
being in touch with the C++ community for a long time is that
virtually nobody even talks about code bloat anymore. For
whatever combination of industry and market forces, it's just
not an issue anymore.
What C++ community are you in touch with? Boost?...
Code bloat is still a big issue in C++, especially in embedded
software for obvious reasons.
It's also a big issue outside of the embedded world because more
code bloat causes more I$ misses, which causes performance
problems. Performance is always an issue, and considering that
D's key advantage over the scripting languages is performance,
this has to be a serious consideration. Additionally, more code
equates with longer compile times, which again is one of D's
supposed selling points.
Ironically, I remember you saying a while back that compile times
where a big problem at Facebook. Guess what's causing that?
Perhaps not so many people complain directly about code bloat any
more, but they do complain about performance, they do complain
about compile times, they do complain about the size of Phobos
libs, and they do complain about startup times -- these things
are all attributable at least in part to code bloat.
FWIW: I agree with the proposal, but let's leave the
code-size-doesn't-matter attitude behind.