Comma expression as tuple operator [was Tuples, C#, Java, language

grauzone none at example.net
Thu Dec 31 03:27:54 PST 2009


justme wrote:
> grauzone Wrote:
> 
>> bearophile wrote:
>>> BCS:
>>>> A though on the comma operator: if the comma operator were
>>>> defined to give a tuple type and be implicitly castable to any
>>>> suffix of it's self, then you could get both the comma
>>>> expression usage that Walter wants as well as all the fun
>>>> things that tuple expressions give.
>>> D2 has enough warts now, so it's much better to not add some
>>> more. Languages must be tidy, when possible. It's often better to
>>> not have a feature that having a dirty one.
>> I think in this case, it's more about cleaning up and polishing,
>> than adding "warts".
>> 
>> The big danger is, that this may require incompatible language
>> changes, which won't be possible anymore after D2. D3? Anyone who
>> talks about D3 must be kidding.

On the other hand, one could introduce "fixed tuples" as a new feature, 
that doesn't touch the old tuples. It would be annoying, but allows for 
perfect backwards compatibility.

> So D3 won't ever appear? At least in many open source projects the
> final released is tagged one to two weeks before the final release.
> Distributions have then time to repackage the release. Meanwhile, the
> core developers are already enthusiastically implementing wild new
> features after a long feature freeze.

D3 would just mean "incompatible to D2". The "final" version of D1 (dmd 
1.000) was released on Jan 2, 2007, and the first version of D2 (dmd 
2.000) on Jun 17, 2007. Can't let that happen again.

But adding features after finalization in a backward compatible way 
would be nice. Other languages can do it too, why not D?

> It's similar kind of tick-tock as Intel has with their CPU line (1
> smaller process -> 2 improved core -> goto 1). In successful software
> projects they have alpha/beta period, feature freeze, stabilization
> period, release, new alpha/beta period etc. Concurrently new bugfix
> releases come out just like with D. I haven't heard of new features
> lately so D2 must be stabilizing now.

That isn't the case. Have a look at the "New/Changed Features" section 
in the changelog: http://www.digitalmars.com/d/2.0/changelog.html



More information about the Digitalmars-d mailing list