Is it time for D 3.0?

KennyTM~ kennytm at gmail.com
Mon Oct 13 14:04:38 PDT 2008


dsimcha wrote:
> == Quote from KennyTM~ (kennytm at gmail.com)'s article
>> dsimcha wrote:
>>> == Quote from Paul D. Anderson (paul.d.removethis.anderson at comcast.andthis.net)'s
>>> article
>>>> I posted this comment already in the phobos/tango thread but I thought it might
>>> be of more general interest.
>>>> With all the changes being discussed -- many of the breaking changes -- is it
>>> time to move on to D version 3.0?
>>>> It seems to me a natural division exists between 2.0, when we had to choose
>>> between tango and phobos; and 3.0, when we got to use them both.
>>>> Some of the other recent discussions here, template syntax, for example, could
>>> fall on the other side of the 2.0/3.0 divide.
>>>> I'm sure Walter and others have discussed when and how the move to 3.0 will
>>> occur. Just wondering if this important change should be a factor.
>>>> Paul
>>> My 2 cents is that I think, in hindsight, it might have been a mistake to declare
>>> a 1.0 release when so many breaking changes to the language spec were still to be
>>> made.  D1 seems like it's an artificially stable spec for people who needed a
>>> stable spec.  However, it was released before the "real" spec was finalized and
>>> will likely have little future once D2 is finalized.  I don't think the same
>>> mistake should be made by releasing D2 as yet another artificially stable spec
>>> when there is still likely to be massive code breakage in a subsequent release.
>> I believe the D1 spec is stable enough, only that dmd is not stable. The
>> only spec-relating changed to 1.0 since Jun 17th (v2.000 was released) are:
>> * Added aliases string, wstring, and dstring to ease compatiblity with
>> 2.0. (v1.016)
>> *  Added __VENDOR__ and __VERSION__. (v1.017)
>> * The .init property for a variable is now based on its type, not its
>> initializer. (v1.017, breaking)
>> * Added 0x78 Codeview extension for type dchar. (v1.019)
>> * Added extern (System) (v1.019)
>> * Multiple module static constructors/destructors allowed. (v1.021)
>> * Data items in static data segment >= 16 bytes in size are now
>> paragraph aligned. (v1.023)
>> *  Re-enabled auto interfaces. (v1.027)
> 
> Sorry for the misunderstanding.  I wasn't referring to the stability of the D1
> spec, but the spec for the D trunk.  Yes, on the "trunk spec", in this case D2,
> breaking changes are fine to a degree, but D1 and D2 appear to be diverging
> significantly.  My point is that it might have been premature to declare a
> meaningful stable branch that doesn't end up as almost a separate language from
> the trunk.

OK. I see what you mean then.

But the most painful transition from D1 to D2 is just fixing those 
invariant/const stuff I think, but other than that it is quite easy to 
change.

At least easier than VB6 -> VB.NET. :p

(I'm not saying D2 is back-compat, though.)



More information about the Digitalmars-d mailing list