Phobos - breaking existing code

Mike via Digitalmars-d digitalmars-d at puremagic.com
Fri Nov 28 17:27:05 PST 2014


On Friday, 28 November 2014 at 23:33:54 UTC, Walter Bright wrote:
> Just for fun, I've decided to try and get MicroEmacs in D added 
> to the dub registry. The last time it compiled was 2 years ago.
>
> I wound up with at least a dozen references to Phobos names 
> that have disappeared.

Only 12?  That's pretty damn good.

No corrective action was indicated, just
> "undefined symbol". I have to go refigure out what the code was 
> trying to do, and go poking through the Phobos documentation to 
> see what will work today.
>
> I know there's been a lot of "break my code" advocacy lately, 
> but this code was only 2 years old.

I don't expect any 2 year old software to work with the latest 
tools. All of my products are tied to the compiler they are built 
with.  I don't upgrade until I'm ready to allocate resources to 
refactoring and testing.  I'm still using Visual Studio 6.0 on 
some projects.

>
> I fully understand how unfriendly this is to users and how 
> discouraging it can be to have their recently working code 
> shattered and scattered. We need to do a lot better.

Users' migration to the latest tools is in their hands to handle 
how they wish. It's their responsibility.
* They don't have to upgrade.
* There are beta cycles for them to test with to mitigate risk 
and inform maintainers of problems.
* The project is open source, and developed right out in the 
open, so all changes are documented, the source code is 
available, and users have the opportunity to influence the 
outcome.
* Each version is segregated into its own branch, and with diff 
tools, all changes can be seen relatively easily.
* I could go on.

I'm not buying the argument that D shouldn't evolve because users 
are carelessly upgrading their tools and expecting everything to 
just work.

Mike



More information about the Digitalmars-d mailing list