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