[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