System programming in D (Was: The God Language)
Andrei Alexandrescu
SeeWebsiteForEmail at erdani.org
Thu Jan 5 09:35:09 PST 2012
On 1/5/12 10:49 AM, Manu wrote:
> I make this argument in support of the language expressing optimal
> constructs with ease and by default, rather than expressing some concept
> that feels nice to programmers, but puts a burden on the
> whole-program-optimiser to fix.
> For example, virtual-by-default RELIES on whole-program-optimisation to
> fix, whereas final by default has no performance implications, and will
> produce the best code automatically.
Your point is well meaning. I trust you understood and internalized your
options outside a language change: using final or private in interfaces
and classes, using struct instead of class, switching design to static
polymorphism etc. Our assessment is that these work very well, promote
good class hierarchy design, require reasonably little work from the
programmer, and do not need advanced compiler optimizations.
The D programming language is stabilizing. Making a change of such a
magnitude is not negotiable, and moreover we believe the current design
is very good in that regard so we are twice as motivated to keep it.
At this point you need to evaluate whether you can live with this
annoyance or forgo use of the language.
Thanks,
Andrei
More information about the Digitalmars-d
mailing list