www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - D Development Paradigm

reply "Craig Black" <cblack ara.com> writes:
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 
Nov 29 2007
next sibling parent reply "Jarrett Billingsley" <kb3ctd2 yahoo.com> writes:
"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.
Nov 29 2007
parent Bruno Medeiros <brunodomedeiros+spam com.gmail> writes:
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
Dec 09 2007
prev sibling next sibling parent reply Paul Anderson <paul.d.anderson.removethis comcast.andthis.net> writes:
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
Nov 29 2007
parent reply "Craig Black" <cblack ara.com> writes:
"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..
Nov 29 2007
parent reply "Bruce Adams" <tortoise_74 yeah.who.co.uk> writes:
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..

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.
Nov 29 2007
parent "Craig Black" <cblack ara.com> writes:
 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
Nov 30 2007
prev sibling next sibling parent reply BCS <ao pathlink.com> writes:
Reply to Craig,

 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
 

Wow! That sneaky man! He's bating us to drive a debate. That is an incredibly cool way to hash out designs. And the long wait would be to keep us from catching on. (The above is said in a joking but not condescending tone. I don't known that his is what Walter is doing but if it is, it is actually a rather interesting way to do stuff.)
Nov 29 2007
next sibling parent Sean Kelly <sean f4.ca> writes:
BCS wrote:
 
 Wow! That sneaky man! He's bating us to drive a debate. That is an 
 incredibly cool way to hash out designs. And the long wait would be to 
 keep us from catching on.
 
 (The above is said in a joking but not condescending tone. I don't known 
 that his is what Walter is doing but if it is, it is actually a rather 
 interesting way to do stuff.)

I've done this from time to time with Tango, because I discovered that it is extremely difficult to solicit feedback for theoretical changes. Much easier to just do something that seems reasonable, let everyone know what was done, and then wait for people to complain. Sean
Nov 29 2007
prev sibling parent Christopher Wright <dhasenan gmail.com> writes:
BCS wrote:
 Reply to Craig,
 
 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

Wow! That sneaky man! He's bating us to drive a debate. That is an incredibly cool way to hash out designs. And the long wait would be to keep us from catching on. (The above is said in a joking but not condescending tone. I don't known that his is what Walter is doing but if it is, it is actually a rather interesting way to do stuff.)

Isn't that how Linus Torvalds works?
Nov 29 2007
prev sibling next sibling parent reply Walter Bright <newshound1 digitalmars.com> writes:
At least I believe in what I'm doing!
Nov 29 2007
parent "Craig Black" <cblack ara.com> writes:
"Walter Bright" <newshound1 digitalmars.com> wrote in message 
news:fin810$1oi5$3 digitalmars.com...
 At least I believe in what I'm doing!

Keep up the good work!
Nov 29 2007
prev sibling next sibling parent reply Bill Baxter <dnewsgroup billbaxter.com> writes:
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
Nov 29 2007
parent reply Jesse Phillips <jessekphillips gmail.com> writes:
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.
Nov 29 2007
parent reply Walter Bright <newshound1 digitalmars.com> writes:
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 :-)
Nov 29 2007
next sibling parent Dan <murpsoft hotmail.com> writes:
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
Nov 29 2007
prev sibling parent James Dennett <jdennett acm.org> writes:
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
Dec 19 2007
prev sibling next sibling parent Clay Smith <clayasaurus gmail.com> writes:
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.
Nov 29 2007
prev sibling parent 0ffh <frank frankhirsch.youknow.what.todo.net> writes:
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
Nov 29 2007