On 12/2/13 4:19 AM, Manu wrote:
The problem is that virtual is irrevocable. It can't be removed without
breaking the API

Here we go again. No, that's not the problem. A similar issue goes about final.

, which means it's not possible to optimise a library in
that way at any time after it has already been released to the wild. The
converse is not true.

Conversely final makes it impossible tweak behavior after the library has been released in the wild. You could reasonably argue that you care more about performance optimization than tweaking behavior.

It has also been agreed that there is very little the compiler/optimiser
can do to help.

Same goes about "virtualizing" final.

It's a dangerous default,

How is it "dangerous"?

it's got absolutely nothing to do with "I
don't want to type final" as you helpfully simplified it. You can type
'virtual:' at the top, and you're set.

Can't _you_ type 'final:' at the top and be set? Why is it that, to paraphrase a recent crazy twitter flamewar (http://goo.gl/h9NMxK), your Thanksgiving is more important than everybody else's?

Again, the converse doesn't
stand, you can't practically type 'final:' at the top since there will
inevitable by SOME virtual methods.

Group them before the final: or go through the trouble of typing final { ... }.

We can spin off another thread if you like, or you can read through the
old ones. I don't think it's going to go any further than the other
threads already did.

We'll see. If I learned anything from the past, is this has just restarted.


Andrei

Reply via email to