Breaking backwards compatiblity

Jonathan M Davis jmdavisProg at gmx.com
Sat Mar 10 15:06:51 PST 2012


On Saturday, March 10, 2012 17:29:49 Nick Sabalausky wrote:
> And seriously, name changes are one hell of a *trivial* breaking change.
> Some people here makes it sound like name changes are akin to...I
> dunno...banning templates or something.

But it's still a breaking change, and existing projects then won't build 
until they update everything to match. Walter seems to be arguing that 
trivial changes are the worst, because they break code _without_ adding much 
value. At least with large breaking changes, it's generally adding a lot of 
value, otherwise the change wouldn't have happened.

> I happily switched from C++ to D. *That's* a "breaking change".

Sure. But there's plenty of D code which already exists which must deal with 
breaking changes, and that body of code is only increasing in size. So, the 
cost of making a breaking change to the language or standard library is only 
going up.

Take Adam Ruppe, for instance. He's got a fair bit of code in D which he 
uses professionally, and he tends to get ticked when breaking changes are 
made. And he's an active member of this newsgroup, so he's generally aware 
of the situation. It's that much worse for anyone using D who isn't active 
here.

If a breaking change adds enough value (i.e. it Walter's "very high bar"), 
then we'll do it. But making breaking changes just to tweak a few things is 
becoming increasingly costly. It affects every user of D, and those numbers 
are growing.

- Jonathan M Davis


More information about the Digitalmars-d mailing list