[OT] Ruby (was Re: Spreading Smalltalk)
Bob Ingria
ingria at world.std.com
Wed Apr 17 05:51:32 UTC 2002
At 10:14 PM 4/16/2002 -0700, Avi Bryant wrote:
>..
>However, even if he'd never hacked Smalltalk, Matz was obviously heavily
>influenced by it. The object model is nearly identical to Smalltalk's (in
>terms of the way the Class/Metaclass system works), there's an equivalent
>of DNU (method_missing), the collection protocol is mimicked
>(collect/select/detect/reject, although missing the more interesting
>variants like detect:ifNone:), blocks are used idiomatically in much the
>same way that they are in Smalltalk, adding methods to system classes
>is encouraged, etc.
Quite true. I hope it didn't seem like I was implying that there was no
Smalltalk influence, only LISP.
By the way, the iterators always bring a smile to my face whenever I first
encounter them in a language, whether in Smalltalk or in other languages
(e.g. Ruby). That's because the LISP I started out with was InterLISP,
which had a fairly rich set of iterators (and which, in its CLISP subset,
used _ for assignment (SETQ).). Encountering Smalltalk for the first time
made me feel as if I had come home. The Smalltalk environment reminded me
a lot of the InterLISP D-machine environment.
>Since I often see the programming language world (at least, the small
>enlightened part of it) as being divided into the LISP camp and the
>Smalltalk camp,
I sometimes wonder if it's not because they're both regarded by non-users
as 'marginal', 'inefficient', etc.languages, so that they come to seem to
be in competition with each other. And so the devotees of each try to
preserve their turf.
> it's nice to see something like Ruby strike a decent
>balance between the two.
Indeed.
-30-
Bob Ingria
As always, at a slight angle to the universe
More information about the Squeak-dev
mailing list
|