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

Reply via email to