Is it time for D 3.0?

KennyTM~ kennytm at gmail.com
Mon Oct 13 13:02:46 PDT 2008


KennyTM~ wrote:
> 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)
> 
> 

I hit the wrong button :)

     *  Added compile time error for comparing class types against null 
(v1.028)
     * Added version identifier D_PIC when -fPIC switch is used (v1.031)
     * Added .__vptr and .__monitor properties for class objects for use 
in the internal runtime library (v1.032)
     * Now supports array operations (v1.034, which Walter claims "It 
should have been there")

So there is probably just one breaking change (.init), and others are 
more likely bug fixes or really minor enhancements (__VENDOR__?), so I 
could say the spec itself is pretty stable.



More information about the Digitalmars-d mailing list