Who favors the current D1 situation?

Bill Baxter dnewsgroup at billbaxter.com
Thu Mar 6 20:49:34 PST 2008


Gregor Richards wrote:
> Bill Baxter wrote:
>> Currently as we all know, D1 gets no new features, and D2 is a crazy 
>> rocketship that could change direction at any moment.
>>
>> Now I know a lot of people were asking for D to become more stable pre 
>> D1 days, but is this really what you wanted?
>>
>> I had initially assumed that the freeze on D1 was at least as much due 
>> to time constraints on Walter as it was due to a desire for stability. 
>> But in a recent message Walter said that wasn't the case.  He said 
>> that backporting things from D2 to D1 was pretty trivial.
>>
>> So really then, it to comes down to Walter believing that the D 
>> community wants D1 to be feature frozen.
>>
>> Is it really true?  Is there a group of folks who really want D1 to be 
>> frozen?
>>
>> I myself would like to see D1 get all new features that won't break 
>> existing source code.
>>
>> Things like:
>> * New string literals
>>   - q{a=b} D-token string syntax,
>>   - delimited strings, q"(...)"
>>   - heredocs, q"EOF...
>> * IFTI that works even if you specify one parameter,
>> * Enhanced is expression
>>   - is ( Type Identifier : TypeSpecialization , TemplateParameterList )
>>   - is ( Type Identifier == TypeSpecialization , TemplateParameterList )
>> * foreach(i; 0..10) syntax (ForeachRangeLiteral)
>> * Overload sets
>>
>>
>> I'm all with the sentiment that D1 code that compiles today should 
>> compile tomorrow.  That kind of stability is great.  But if it's not a 
>> big time commitment for Walter (which he says it's not), I see no good 
>> reason to keep new backwards-compatible features out of D1.
>>
>> I've heard other folks saying they want this from D1 too, but what I 
>> haven't heard is a great swell of active D developers saying that new 
>> features would be a detriment to their work.
>>
>> --bb,
>> (who has now written and/or ported about 200,000 lines of D according 
>> to a quick check with 'wc')
> 
> Having an unstable base (and I don't mean unstable in the software 
> sense) makes reimplementations (including partial reimplementations e.g. 
> GDC), ports, etc very difficult. With a feature freeze on 1.0, there is 
> a solid, specified language that one can target without having to keep 
> up with a changing specification.
> 
>  - Gregor Richards

People reimplementing D come in two categories:
1) from scratch,
    These people can just stick with whatever fixed 1.x version of the 
specification they want.  Any bug fixes that Walter makes to the 1.x 
series wouldn't help them anyway.
2) dmdfe based,
    These people already have to merge with latest dmdfe changes to get 
the bug fixes, so their lives won't become any more difficult.  Still 
just a merge from upstream.

Also, given the fact that there really aren't any viable examples of 1) 
right now that even implement the 1.0 spec, I'm not sure this is a very 
important category to base decisions upon.  There are many more actual 
users of D 1.x than there are people implementing D from scratch and 
there are basically zero users of clean-room implementations of the D 
1.x spec.

--bb



More information about the Digitalmars-d mailing list