From: William Morgan Date: 2005-02-19T01:01:46+09:00 Subject: Re: A Ruby-relevant quote from Alan Kay Excerpts from Curt Sampson's mail of 18 Feb 2005 (EST): > >Without offense, one can say that Ruby is Smalltalk made right (or at > >least one way to make it right). > > If if by "making it right" you mean going back to imperative languages > and irregular syntax. I don't know Smalltalk, so perhaps I'm misrepresenting your claims. But I know Lisp and Scheme and I often see similar claims made by their proponents. I think syntatic elegance is a distraction. *Conceptual* elegance is good, in terms of what the language allows one to do and how the API is structured. But I would happily swallow any amount of irregular syntax if it meant I had to hit fewer keystrokes to accomplish the same thing. Yes, Ruby's block syntax is "irregular" in that we could just be using lambda { } everywhere and have a nice uniform way for passing any number of lambdas to a function. And Ruby code would be ten times as irritating to write. Yes, we could replace variables with block-level "let/let*" statements and do away with the "evils" of imperative languages. And Ruby would be ten times as annoying to write. (And this applies to modifying code too. If I want to do a quick debug-by-printing, I don't want to have to move back and forth inserting parentheses in weird places. Let me just insert a print statement with a mininum of effort, for cryin' out loud.) So, irregular/impure/non-elegant syntax doesn't bother me. Shit, I speak English. Mainly I just want to type less. > There will be a day when we nobody will take a language without > continuations seriously, but that day is not here yet. I dunno. In a language with threads and exceptions, I don't think continuations are quite as useful as they once were. I've see one really good usage in Ruby (generator.rb), and a couple "cute" uses. > (And the day where nobody takes seriously a language without type > inference is even further away.) Couldn't disagree more about the desirability of that feature. But that's another discussion. :) -- William