System programming in D (Was: The God Language)

Walter Bright newshound2 at digitalmars.com
Thu Jan 5 12:37:51 PST 2012


On 1/5/2012 1:16 AM, Manu wrote:
> On 5 January 2012 03:06, Walter Bright <newshound2 at digitalmars.com
> <mailto:newshound2 at digitalmars.com>> wrote:
>
>     On 1/4/2012 4:30 PM, Sean Kelly wrote:
>
>         If a library is written without consideration to what is virtual and what is
>         not, its performance will be the least of your problems.
>
>
>     I agree. Such is a massive failure in designing a polymorphic type, and the
>     language can't help with that.
>
>
> I don't follow.. how is someone failing (or forgetting) to type 'final' a
> "massive design failure"? It's not a design failure, it's not even 'wrong'...
> it's INEVITABLE.
> And the language CAN help with that, by making expensive operations require
> explicit declaration.


In any class design, one must decide which functions are overrideable and which 
are not. The language cannot do it for you; certainly not by switching around 
the default behavior.


 > At least make a compiler flag so I can disable virtual-by-default for my 
project...?

I'm afraid that such a switch would have disastrous results, because it 
fundamentally alters the meaning of existing code.


More information about the Digitalmars-d mailing list