Re: The departure of the hyper-enthusiasts
Posted: Dec 26, 2005 11:01 PM
> The thing about this entire discussion is that it kind of
> makes my point: the people who were formerly
> hyper-enthusiasts about Java have moved to Ruby. The
Yes, I see your point now, and I have to agree: whatever the purported advantages of Ruby may be, the fact that Brian Ford raves so wildly about it (and about anybody who doesn't enthuse as crazily about it as he does, me and you included) is a HUGE disadvantage for Ruby to surpass.
Just one example...:
I claim the differences are mostly syntax sugar, he blasts me for it, and as one of the points allegedly showing that they're not he lists the fact that... (wait for it...) *parentheses are optional*. Yes, that's just right: to show why it's so evil of me to point out that the differences are moslty syntax sugar, he lists TYPICAL SYNTAX SUGAR ISSUES as "counterexamples"! And not just parentheses, but even *lexical* issues such as whitespace significance.
In retrospect, I apologize to the Ruby community as a whole, for even ever suspecting this Brian Ford scum might somehow be "part of it": he's clearly simply a sample of bottom-feeding low-life. The best favor he could possibly do, to Ruby as well as to the world in general, would no doubt be to keep his foul mouth shut tight, although that's no doubt beyond his understanding.
Still, if there are more rabid sickos like him prowling around the edges of that otherwise respectable community, that must still count as a serious issue. I think Python's been unusually lucky in mostly avoiding attracting that type of weirdo, perhaps because of the "dampening" influence of its highly pragmatical, commonsense, real-world-based Dutch origins.
> comments from Ruby folk seemed to be mostly, "The fact
> that you haven't said Ruby is the most wonderful thing in
> the world, and is the solution to all problems, and that
> anything Ruby does (such as provide multiple names for
> idential operations) isn't by definition the superior
> solution -- well, I take this as a personal insult and
> pass gas in your general direction!" (that latter, by the
> way, is a reference to a Monty Python sketch, and is
> something we often do in the Python community to lighten
> things up. Perhaps if Ruby adopted its own comic theme
> then that community could follow suit).
I think that, much as I was inclined to do earlier, you're tainting the whole community by their association with Brian Ford. Joao, for example, has been guilty of a little over-enthusiasm, but he's also apologized for it and I don't think he attacked anybody personally, like Brian did, nor did, to the best of my recollection, post such patent absurdities as Brian's implied claim that making parentheses optional or whitespace nonsignificant is anything OTHER than *syntax sugar*.
> These comments seem to take anything except
> hyper-enthusiasm about Ruby as a personal affront, and I
> think make my case for me. I have said that Ruby and Rails
> are making contributions to the programming community, and
> I still think that. But as Alex pointed out, the ferocity
> of what we've seen here of the community doesn't draw me
> in. In contrast, the people commenting about both Java and
> Python have had, to me, a reasonable perspective, and have
> argued with examples and experience rather than on faith.
Agreed on all points. Still, of all the commenters, including enthusiastic ones, only Brian Ford has definitely exceeded the norms of civil human coexistence: that he's allegedly on Ruby's side is a worry, but we're basically talking about ONE dangerous individual, I don't think we've yet seen proofs that the crazed Brian-like assault-bots have overrun a programming community that just a couple of years ago (back when I participated in that long thread on comp.lang.ruby) was still quite a decent one... only worrisome HINTS of that hypothesis, such as the fact that no other Ruby enthusiast, so far, has considered it appropriate to chastise Brian for his excesses.
> It's too bad. As I've said, I think some very interesting
> things are going on in the Ruby world. The book by "Why
> the Lucky Stiff" is one of the most creative things I've
> seen; it's really wonderful. And Rails appears to have
> forced people to really rethink what the essence of web
> programming is about. And some aspects of Ruby appear to
> have simplified some things that we may not seen that way
> before. All good things.
Haven't read the book you mention (I'll look for it) but I do agree on the other points. Still, let me make a technical point: language design is a trade-off; you don't get to simplify some things without making OTHER things less simple. Consider, for example, the point of syntax sugar that Brian considers so important as to justify his despicable personal attacks against me, and later you: "parentheses are optional" to call a method... the mere MENTION of the method calls it.
This implies that "mere mention" means something utterly different for a method versus other attributes. So, to get a REFERENCE to an attribute, mentioning it is sufficient UNLESS it's a method, but if it's a method and you want a reference to it that you can seamlessly call in the future then you have to go through some syntax gyrations -- if, that is, you can get seamless polymorphism among callables at all.
In Python, it's a no-brainer: ANY mere mention ALWAYS just gets a reference; given ANY reference to a callable, you can always, if you wish, call it by juxtaposing parentheses [possibly with arguments inside, if needed]. There is hardly any "rule" to memorize here: by making the juxtaposed parentheses mean "call this thingy", like in C, the need for a chasm between callables and non-callables disappear. For an example of structured containers of callables, see for example the excellent Deferred class in Twisted (a book on Twisted has just been published by O'Reilly, though I haven't seen it yet). You CAN, I'm sure, arrange things similarly in Ruby -- but not without heavier syntax, because you can't just pass "x.y" for future reference if it's a method, you have to gyrate syntactically around it. I remember similar obstacles in Smalltalk (similar to Ruby in many ways -- except syntax sugar;-) being part of why I went back to Scheme, at the time, in my quest for the most usable VHLL (a quest I've been on for over 20 years, since I first met Rexx when it was still an internal IBM research project, which gave me my first inkling that there WERE other possible VHLL's, beyond Scheme and other Lisp variants, and besides the sheer academia of Backus' FP... a quest that, for the nonce, has led me to choose Python).
> I will continue to try to learn Ruby by bits and pieces.
> But from what I've seen here, I have to be rather careful
> about where my information comes from.
Yes, it's hard to fault that conclusion.
> Yes, I know Alex
> and I know how careful he is, so I will trust his
> comparisons between Ruby and Python. I hope that he will
> do more such comparisons, but because of the comments made
> to him here I wouldn't be surprised if he doesn't.
Thanks for the appreciation. If and when I do publish anything more on the subject, I will be certain to mention the Brian Ford-style rabid dogs as a potential disadvantage of Ruby, unless I should hear a strong condemnation of his unjustifiable personal attacks by other Ruby practitioners.
> I am certainly less inclined to study and write
> about Ruby based on what I've seen here. This, I think,
> ends up being counterproductive to the Ruby community.
I don't think there can be any doubt about that. Should I ever want to try and sabotage some emerging technology in the future, I think I'll take a leaf from Brian Ford's book: I'll make up a credible pseudonym and pose as a rabid take-no-prisoners Rottweiler dog "defending" it by personally attacking anybody trying to be reasonably even-handed about it, "justifying" the rants by self-contradictory diatribes.
> And although I criticized some of Bruce Tate's work, I
> still got more information from his book than I've gotten
> from the comments posted here. He at least argued for Ruby
> based on its merits.
And that's a completely different issue from the garbage Brian Ford has posted, for sure. One may agree or disagree about specific technical arguments, but the kind of junk and personal attacks that Brian Ford has posted is obviously beyond the pale.
> I have to agree with Alex; the comments posted here have
> not encouraged me about the Ruby language community, and
> I've learned that the community is what makes the biggest
> difference to me, because those are the people you are
> going to have day-to-day contact with, and will decide
> whether you want to go to the conferences, etc. My
Good point. FWIW, my frequent experiences with the Ruby people at open source conferences has been ENORMOUSLY more positive than Brian Ford might lead one to suspect; we've shared coffees and beers and stimulating discussons, and nobody's ever been obnoxious, indeed, in my experience at those conferences, NOBODY AT ALL has EVER been anywhere as obnoxious as he is. I think that here we get a chance to check if things have changed recently: if no Ruby enthusiast speaks up strongly and unconditionally condemning Brian Ford, then that may sadly confirm the impression that the Ruby community has recently taken a horrid turn for the worse, and disgusting behavior at the Brian Ford level is now considered to be justifiable if it is "for the Cause".
> experience with the Python community has been of a group
> of people who are thoughtful and generally treat people
> well. And who are generally happy with themselves and the
> people around them.
A fair summary -- which, until Brian Ford stomped crazily on the scene attacking me with no holds barred, I might have equally used of my experiences with the Ruby community, or, for that matter, the Perl one (in which I also count a lot of friends, even though we intensely disagree on technical language-design issue we'd never DREAM of behaving as abysmally as Brian Ford appears to think he was fully justified to do).