D3 is potentially damaging

James Miller james at aatch.net
Thu May 3 01:22:16 PDT 2012

On Wednesday, 2 May 2012 at 01:11:52 UTC, Alex Rønne Petersen 
> On 02-05-2012 03:08, ixid wrote:
>> The idea of D3 is a worrying one- it suggests a number of 
>> things that
>> would not be good for the success and adoption of the 
>> language. That the
>> language is experimental and more of a pet project, that D2 
>> has a
>> shelf-life and will be abandoned. I can see D going in two 
>> directions:
>> it can gradually grow and progressively gain areas where it's 
>> the
>> standard choice or it will be a fairly small community of fans 
>> of an
>> eternal language project. Python 2 and 3 has been a very messy 
>> split,
>> while languages with a greater sense of continuity do better 
>> for it in
>> my view, having one standard version of that language. 
>> Breaking changes
>> may be desirable but I don't think labelling that as v2/v3 is 
>> a good
>> idea, make it one thing with one suggested version.
> I agree wholeheartedly. This whole "D3" excuse for not fixing 
> design issues in the language is going to hurt us in the long 
> run.
>> What are the aims of D3 that aren't aims of D2? What could be 
>> done then
>> that can't be done now? Wouldn't it be better to make breaking 
>> changes
>> sooner rather than later?
> Yes and no. In theory, it's good to stabilize the language now 
> and make a new version of it later which has breaking changes. 
> In practice, that's annoying as hell. We've already seen how 
> slow the transition from D1 to D2 is (not was; it's still 
> happening!). D2 to D3 is going to be even slower (see in 
> particular your Python 2 vs 3 example) simply because more and 
> more people are going to be using D2 and therefore can't afford 
> to port their applications to D3.

Honestly I think that the big problem going from D1 -> D2 was the 
issues with Tango. Hell, Tango in general seemed to just cause 
problems, what with the incompatible runtime and all.

D3 would be fine, iff it was easy to port D2 across and easy to 
continue using D2 code. A big problem with Python2 -> Python3 is 
the fact that it is a nightmare to have both running side-by-side.

I don't really think that D3 is a good idea, it would probably be 
better to gradually deprecate code going forward and replace the 
broken syntax and non backwards-compatible code.

Another useful could be to have a pragma(version, 2) so the 
compiler compiles with version 2 rules, no porting needed, just a 
single line near the top.

James Miller

More information about the Digitalmars-d mailing list