>>>>> "Robert" == Robert Feldt <feldt / ce.chalmers.se> writes:

    Robert> Hi, A friend of mine, who is a Smalltalk fan, asked me if

Hi too,

    Robert> there are any fundamental differences between Smalltalk
    Robert> and Ruby (ie. not syntax). Since I've never worked with
    Robert> Smalltalk I pose it to the list:

    Robert> Are there things you can do in the programming language
    Robert> Ruby (ie. disregard extension and libs, licenses etc) that
    Robert> cannot be done in Smalltalk? Language features that
    Robert> Smalltalk lacks?  Or the other way around?

I have used Smalltalk for some small projects and educational
purposes. Despite the syntax I have not found many differences on the
way from Smalltalk to Ruby. Smalltalk try to reflect *all* to be seen
as object: control structures too. In Ruby, however, most control
structures are, ehrm ..., just that: control structures!

I could not think about anything possible in Smalltalk not being
possible in Ruby, IMO. But I could think of much nice concepts *not*
available to Smalltalk. Concepts like: Prototype based programming,
Singleton methods, singleton objects ... to mention only some of
them.

Ok ... despite the fun factor one would not have to leave Smalltalk
for Ruby, IMHO! Because all these add-on concepts are not really
urgent necessary for programming. But sometimes they are really handy
and allow a solution being much more elegant than a corresponding
Smalltalk solution, IME.

Although Smalltalk is *really* a nice language, IMO, Ruby is undoubtly
nicer and (as Dave and Andy mentioned in the 'pickaxe' book -- nice
name BTW) tries to "(...) stays out of your way(...)" wherever
possible, allow you to focus your creativity on your problem at hand
and not to work-around flaws in the language.

It is the flexibility that makes Ruby more powerful than Smalltalk,
IMHO!


    Robert> (Yes, he is familiar with Turing-completeness... ;-))

    Robert> Regards,

    Robert> Robert

Regards,
\cle