Is DMD 0.166 RC 1.0?

xs0 xs0 at xs0.com
Mon Sep 4 03:05:58 PDT 2006


Walter Bright wrote:
> xs0 wrote:
>> This is almost OT, but for several Java coders I know, not being able 
>> to type
>>
>> new int[3][4][5]
>>
>> and
>>
>> new int[][] {
>>    { bibi(), bubu() },
>>    { a+b, c+d }
>> }
>>
>> made a _far_ worse first impression than the version number (as in, 
>> quote, "you're kidding, right?"). And it seems so simple to 
>> implement.. If you ask me, you really need to add those before going 
>> 1.0 (it's bad enough for Javans that Interface[] is not Object[] ;)
> 
> My experiences with people who won't use D because it doesn't have 
> specific feature X is that they won't use it when feature X is 
> implemented, or when Y, Z, A, B and C are implemented. They're used to 
> the language they currently use, and will never change.
> 
> We can easily get sucked into a rat race trying to please people who 
> haven't the slightest inclination to use D (or any language other than 
> the one they currently use).

Well, I somewhat disagree. My company is more or less strictly Java, but 
when I made a internal presentation on D, a surprising number of people 
showed up and most of them seemed genuinely interested/fascinated. So, I 
don't think it's the case that they don't have the slightest inclination 
to use something else.

> I'd much rather work on the features the people who have *already* 
> switched to D need to do outrageously cool things.

> You mean Java doesn't have free functions? No out parameters? No nested 
> functions? No templates? No versioning? No operator overloading? No lazy 
> evaluation? No 80 bit floats? No stack allocation? No structs? No array 
> slicing? No direct access to C? You're kidding, right? <g>

I 100% agree Java is lacking in many ways (and to be fair, it has some 
advantages, too), but if you're aiming for a good first impression, you 
also need to care of the basic stuff. The two things I mentioned seem so 
basic for a language with dynamic arrays, that I totally fail to 
understand why you're so reluctant to implement them; considering the 
unofficial wish list, I'm not the only one. Would you care for any 
language that (regardless of other features) made you type "return a+b" 
like this:

accumulator foo;
foo.add(a);
foo.add(b);
return foo.result;

Now, consider the remarkable similarity between that case and "auto foo 
= new int[3][4][5]" versus

int[][][] foo;
foo.length = 3;
for (int a=0; a<3; a++) {
     foo[a].length = 4;
     for (int b=0; b<4; b++)
         foo[a][b].length = 5;
}


xs0



More information about the Digitalmars-d-announce mailing list