From: "David A. Black" Date: 2004-10-09T23:20:41+09:00 Subject: Re: ANN: Free-form-operators patch Hi -- On Sat, 9 Oct 2004, Hal Fulton wrote: > I stand by the abstraction: A sufficiently open system can be turned against > itself to undermine that openness. > > There are millions of ways to concretize that abstraction, but most of those > are otherwise unrelated to each other, and they range from the momentous to > the inconsequential. I have no reason and no desire to compare you to a terrorist > or any other form of criminal. > > If you don't believe there is such a thing as "too much flexibility," then we > will have to agree to disagree. Just so Hal doesn't feel all alone, I'll put in a note of skepticism :-) I'm not eager for Ruby to have, in essence, no fixed syntax. I think Ruby's strength lies largely in its specificity as a language -- a language that is good at domain-specific things, but still a particular language -- and if it were turned into a kind of proto-language, I would feel a sense of loss. Also, I don't want to have to learn new syntactic rules every time I want to read a program or use a library. I know the argument gets made a lot that it can't hurt to have this feature, that feature, etc., because no one has to use them. I think that misses the point, though. It's like saying: a flute should have strings like a violin, in case someone wants it to be a violin. What you end up with, eventually, is not a musical instrument but a kind of buffet of characteristics, adding up to nothing. I consider Ruby not only an instrument, but a work of art, like a flute or violin. The idea of something being treated as either a flute or a violin sounds like duck typing :-) What I'm saying, in those terms, is that I don't consider Ruby itself to be a Ruby object. It's interesting.... I've thought for a long time that the flexibility and dynamism of Ruby objects sometimes rubs off on people's views of the language itself, so that the perception, expectation, or desire is for Ruby itself to be untyped, open, malleable, and so forth. (Or is that 'mallardeable'? :-) I tend to think of Ruby, instead, as a quite stable and distinctive thing whose stability supports the dynamism of the objects. But at that level it's fine to agree to disagree; there is of course nothing whatsoever wrong with experimentation. I guess my more concrete fear -- and I tend to feel this way about all interpreter patches -- is that people will start releasing programs that depend on the patch. At that point, it would be better to do an outright fork of Ruby. But hopefully that won't be an issue. Mainly I just tend to agree with Hal that this particular change affects the whole profile and identity of the language. David -- David A. Black dblack@wobblini.net