On 06/04/2013 01:15 PM, Manu wrote: > * virtual is a one-way trip. It can't be undone without risking breaking code > once released to the wild. How can that state be a sensible default? > - Can not be un-done by the compiler/linker like it can in other (dynamic) > languages. No sufficiently smart compiler can ever address this problem as an > optimisation.
Have to say that for me, this is a bit of a killer point. If a programmer mistakenly picks the default option instead of the desired qualifier, ideally you want the fix to be non-breaking. It's complicated by the fact that code might get broken _now_ while changing the default, but the question is whether the price is worth it for saving future pain.