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.