On Tuesday, 4 June 2013 at 07:39:04 UTC, Jonathan M Davis wrote:
On Tuesday, June 04, 2013 00:25:39 Walter Bright wrote:
On 6/3/2013 10:58 PM, Andrei Alexandrescu wrote:
> Unless fresh arguments, facts, or perspectives come about, I > am personally > not convinced, based on this thread so far, that we should > operate a
> language change.
One possibility is to introduce virtual as a storage class that overrides
final. Hence, one could write a class like:

class C {
   final:
     void foo();
     void baz();
     virtual int abc();
     void def();
}

This would not break any existing code, and Manu would just need to get into
the habit of having "final:" as the first line in his classes.

That would be good regardless of whether virtual or non-virtual is the default. In general, the function attributes other than access level specifiers and @safety attributes suffer from not being able to be undone once you use
them with a colon or {}.

- Jonathan M Davis

Yeah, it's basically removing D's inherent bias against programmers concerned with performance as opposed to flexibility by allowing performance people such as Manu to structure their code however they want. The price is a keyword new to D but so common elsewhere it hardly seems noticeable as such.

Reply via email to