dmd 1.046 and 2.031 releases

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Mon Jul 6 16:32:55 PDT 2009


Leandro Lucarella wrote:
> Andrei Alexandrescu, el  6 de julio a las 10:44 me escribiste:
>>>> And what did those people use when they wanted to express a range of case 
>>>> labels? In other words, where did those people turn their heads towards?
>>> They probably used an if.
>> So they used an inferior means to start with.
> 
> Yes, but when you try to make people move to a different language, you
> have to do considerably better. When I have to choose between something
> well know, well supported and mature and something that is, at least,
> unknown (even if it's mature and well supported, I won't know that until
> I use it a lot so is a risk), I want to be really good, not just barely
> good.

That goes without saying.

> Details as this one are not deal breaker on their own, but when they are
> a lot, it tends to make the language look ugly as a whole.

You are just saying it's ugly. I don't think it's ugly. Walter doesn't 
think it's ugly. Other people don't think it's ugly. Many of the people 
who said it's ugly actually came up with proposals that are arguably 
ugly, hopelessly confusing, or both. Look at only some of the rehashed 
proposals of today: the genial "case [0 .. 10]:" which is horribly 
inconsistent, and the awesome "case 0: ... case 10:", also inconsistent 
(and gratuitously so) because ellipses today only end lists without 
having something to their right. The authors claim those are better than 
the current syntax, and one even claimed "beauty", completely ignoring 
the utter lack of consistency with the rest of the language. I don't 
claim expertise in language design, so I wish there were a few good 
experts in this group.

> What bugs me the most is there are a lot of new constructs in the language
> that are plain ugly, from the start. D is buying it's own baggage
> (__traits, enum for manifest constants, now the case range, and I'm sure
> I'm forgetting something else) with no reason...

I agree there are ugly constructs in D, and is-expressions would near 
the top of the list (particularly the absolutely awful is(T : T[])), but 
you have no case (heh) with the switch statement.


Andrei


More information about the Digitalmars-d-announce mailing list