Final by default?

Mike none at none.com
Wed Mar 12 17:09:03 PDT 2014


On Wednesday, 12 March 2014 at 22:50:00 UTC, Walter Bright wrote:

> We're past the point where we can break everyone's code.

I suspect changes to the default behaviour of the language can be 
made if they are managed well.  It just needs to be done 
gradually.  Not making improvements to the language sacrifices 
future clients at the expense of existing clients.

Release x:
Add a -final_by_default switch.  Those that want 'final by 
default' can start building their code with that feature.  
Default is still not 'not final by default'.  Warn with release 
that default behaviour will change in y+z releases.

Release x+y:
Add a -no_final_by_default flag and encourage users who don't 
want 'final by default' to use that flag in preparation for the 
next release.  Default is still 'not final by default'.  Repeat 
warning that default will change with next release.

Release x+y+z:
Make the switch to *final by default*.  Maintain the 
-no_final_by_default flag as long as you deem necessary.

In Addition:
Make binary and source code for previous versions *easily* 
accessible.  Procrastinators can always revert to a known state.

My 2 cents.


More information about the Digitalmars-d mailing list