November 29, 2007
Craig Black wrote:
> Listening to Walter argue with everyone about const again I had to laugh. Does anyone else notice this pattern?
> 
> 1) People propose an idea/complaint about a language feature
> 2) Walter makes a strong case for the way D does it
> 3) People press the point but Walter is stubborn
> 4) People get tired of arguing
> 5) Many months or years pass
> 6) For unknown reasons Walter changes his mind and makes the proposed change
> 
> I remember a time when Walter disliked the idea of adding templates to D.  I also remember a time when Walter argued furiously against adding const. More recently he defended at length the 3-keyword const implementation.  He always argues his points so adamantly that whenever he changes his mind it seems like a religious conversion. :)
> 
> -Craig 
> 
> 

It's sure better than giving in to users demands quickly and then removing features months later.
November 29, 2007
Craig Black wrote:
> Listening to Walter argue with everyone about const again I had to laugh. Does anyone else notice this pattern?
> [you know it]
> -Craig 
> 

Well, if I had such a good language,
I'd also be rather careful in changing it. =)

regards, frank
November 29, 2007
On Fri, 30 Nov 2007 05:52:03 +0900, Bill Baxter wrote:

> Craig Black wrote:
>> Listening to Walter argue with everyone about const again I had to laugh. Does anyone else notice this pattern?
>> 
>> 1) People propose an idea/complaint about a language feature 2) Walter
>> makes a strong case for the way D does it 3) People press the point but
>> Walter is stubborn 4) People get tired of arguing
>> 5) Many months or years pass
>> 6) For unknown reasons Walter changes his mind and makes the proposed
>> change
>> 
>> I remember a time when Walter disliked the idea of adding templates to D.  I also remember a time when Walter argued furiously against adding const. More recently he defended at length the 3-keyword const implementation.  He always argues his points so adamantly that whenever he changes his mind it seems like a religious conversion. :)
> 
> I think that's precisely his job.  Nobody wants to use a language that's changing its grammar on a weekly basis.  So his job is to keep it as stable as possible and not change it without overwhelmingly convincing evidence that a change would be an overall win.
> 
> --bb

I agree here, Walter has to be pessimistic about changes, otherwise features would be added remove continually because the demographic has change a little. When people want something an are declined they must look at there reasons for wanting it an come up with good arguments for it. This also means that they have to explain how they wish to use it and where else it would be useful. Even if Walter saw the idea as good resisting it until he gets this information will make for a better design later.

I would like to point out string, which was very much detested, but it is finally here. However string is not just an alias to char[] and it is not the String class that was wanted, but instead an alias to a const(char[]) something useful in the face of const I suppose.
November 29, 2007
Jesse Phillips wrote:
> I would like to point out string, which was very much detested, but it is finally here. However string is not just an alias to char[] and it is not the String class that was wanted, but instead an alias to a const(char[]) something useful in the face of const I suppose.

I'll often resist an idea because the existing implementations in other languages suck. I'd rather delay implementing it until a non-sucking design can be found. C++ const is a classic example of that. C++ const is a first generation design, and has two crippling shortcomings: no invariant, and no transitivity.

C++ const was leading edge technology when it was designed, but it's obsolete today.

Only time will tell if D's const sucks or not :-)
November 29, 2007
Walter Bright Wrote:

> Jesse Phillips wrote:
> > I would like to point out string, which was very much detested, but it is finally here. However string is not just an alias to char[] and it is not the String class that was wanted, but instead an alias to a const(char[]) something useful in the face of const I suppose.
> 
> I'll often resist an idea because the existing implementations in other languages suck. I'd rather delay implementing it until a non-sucking design can be found. C++ const is a classic example of that. C++ const is a first generation design, and has two crippling shortcomings: no invariant, and no transitivity.
> 
> C++ const was leading edge technology when it was designed, but it's obsolete today.
> 
> Only time will tell if D's const sucks or not :-)

Yeah D, supposedly being an improvement on C++, needs to be at least a little better than C++ for any given feature.  It won't be perfect, but it'll certainly be *better*

One day I'm most certain we'll all be standing around gawking at the suckiness of D.  Walter's task here is to be the one delaying that day.  He's doing a superb job of it.

People bitch about the way Linus rejects things because he just flames people.  Walter defends the current state with logical arguments and one feels almost goaded (sp?) into coming up with something better.

Regards,
Dan
November 30, 2007
On Thu, 29 Nov 2007 19:50:52 -0000, Craig Black <cblack@ara.com> wrote:

>
> "Paul Anderson" <paul.d.anderson.removethis@comcast.andthis.net> wrote in
> message news:fin002$16l8$1@digitalmars.com...
>> Craig Black Wrote:
>>
>>> Listening to Walter argue with everyone about const again I had to laugh.
>>> Does anyone else notice this pattern?
>>>
>>> 1) People propose an idea/complaint about a language feature
>>> 2) Walter makes a strong case for the way D does it
>>> 3) People press the point but Walter is stubborn
>>> 4) People get tired of arguing
>>> 5) Many months or years pass
>>> 6) For unknown reasons Walter changes his mind and makes the proposed
>>> change
>>>
>>> I remember a time when Walter disliked the idea of adding templates to D.
>>> I
>>> also remember a time when Walter argued furiously against adding const.
>>> More recently he defended at length the 3-keyword const implementation.
>>> He
>>> always argues his points so adamantly that whenever he changes his mind
>>> it
>>> seems like a religious conversion. :)
>>>
>>> -Craig
>>>
>>>
>>
>> So does this mean the system is broken or that it works? :-)
>>
>> Paul
>
> Walter's doing a great job IMO.  I guess you could say he just has a unique
> procedure for assimilating proposed language features..
>
Given how often people ask for new features and given how often the new features
asked for are dumb, either not thought through or based on a lack of knowledge of the
language you can hardly blame a language designer for wanting to play devil's advocate
even for features they like. Not to mention the time it takes to implement them. I had
the impression templates were always on the cards but are a complex feature.

Regards,

Bruce.
November 30, 2007
> Given how often people ask for new features and given how often the new
> features
> asked for are dumb, either not thought through or based on a lack of
> knowledge of the
> language you can hardly blame a language designer for wanting to play
> devil's advocate
> even for features they like. Not to mention the time it takes to implement
> them. I had
> the impression templates were always on the cards but are a complex
> feature.

True.  Walter originally didn't like templates because he hated STL.  I suggested he look at Modern C++ Design to get another persepective.  Of course, this was long before Alexandrescu got involved in D.

-Craig


December 09, 2007
Jarrett Billingsley wrote:
> "Craig Black" <cblack@ara.com> wrote in message news:fims7s$u44$1@digitalmars.com...
>> Listening to Walter argue with everyone about const again I had to laugh. Does anyone else notice this pattern?
>>
>> 1) People propose an idea/complaint about a language feature
>> 2) Walter makes a strong case for the way D does it
>> 3) People press the point but Walter is stubborn
>> 4) People get tired of arguing
>> 5) Many months or years pass
>> 6) For unknown reasons Walter changes his mind and makes the proposed change
>>
>> I remember a time when Walter disliked the idea of adding templates to D. I also remember a time when Walter argued furiously against adding const. More recently he defended at length the 3-keyword const implementation. He always argues his points so adamantly that whenever he changes his mind it seems like a religious conversion. :)
> 
> Inner classes, all the import features, opAssign, and implicit casts are a few other features I can think of that came about this way. 
> 
> 

Yes, that happened a lot for features that were added, but for requests that are more like changes to current behavior rather than additions (such as value typed arrays), I think it rarely happened.

-- 
Bruno Medeiros - MSc in CS/E student
http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
December 20, 2007
Walter Bright wrote:
> Jesse Phillips wrote:
>> I would like to point out string, which was very much detested, but it is finally here. However string is not just an alias to char[] and it is not the String class that was wanted, but instead an alias to a const(char[]) something useful in the face of const I suppose.
> 
> I'll often resist an idea because the existing implementations in other languages suck. I'd rather delay implementing it until a non-sucking design can be found. C++ const is a classic example of that. C++ const is a first generation design, and has two crippling shortcomings: no invariant, and no transitivity.

C++ const has a form of transitivity: if an object A is const, and A contains an object B, then B is also const (and so on recursively).

Mercifully that doesn't apply to objects merely associated with A.

> C++ const was leading edge technology when it was designed, but it's obsolete today.

Reality shows otherwise, for many reasons.

> Only time will tell if D's const sucks or not :-)

We'll have to see what it looks like when the dust settles.  (Now, a framework for user-extensible qualifiers would be quite something if it could be done well.  I imagine Andrei might have opinions there too.)

-- James
1 2
Next ›   Last »