Breaking D2 language/spec changes with D1 being discontinued in a month

Jonathan M Davis jmdavisProg at gmx.com
Wed Nov 28 08:39:14 PST 2012


On Wednesday, November 28, 2012 16:49:40 ixid wrote:
> On Wednesday, 28 November 2012 at 15:32:47 UTC, bearophile wrote:
> > I also think it's a bad idea to create a "D3", at the moment.
> 
> I think it's a bad idea to create a D3 ever. The language must
> not remain an eternal language tinkering project, it must be
> committed to to create a long-lasting and stable platform that
> settles down, otherwise it will remain forever peripheral. Are
> there really areas which are so terrible and unfixable in D2 that
> a D3 would be required?

Every language ends up with stuff that's unfixable without breaking backwards 
compatibility, and if those changes are large enough, you need a new version 
of the language (or a new language) which is not intended to be compatibile 
with the previous one (as opposed to trying to transition in the breakage - 
which doesn't work at all if you refuse to break backwards compatibility at 
all like languages such as C++ typically do).

Other languages have created new versions which were not backwards compatible 
(e.g. python 3). But it's not the sort of thing that you do often, and it's 
not the sort of thing that you do lightly. Certainly, it's not something that 
we should be doing any time soon - or even _think_ about doing any time soon. 
It's years off at the earliest. And whether it makes any sense at that point 
needs to be examined in detail then. We can't possibly know what the situation 
will be at that point.

So, I'm not at all prepared to say that there should never be a D3, but I 
don't think that it's something that's even vaguely on the table at this 
point. It's an issue to be discussed years from now after D2 has long since 
become stable and is heavily used.

- Jonathan M Davis


More information about the Digitalmars-d mailing list