On Sunday 21 October 2001 11:07 am, Avdi B. Grimm wrote:

> Speaking of Smalltalk, I have  a question for the Smalltalkers here...
> I was actually lead to Smalltalk via Ruby... that's backwards, I
> know :-)  I'm wondering, once you get past the less familiar (to C
> coders) syntax, what are the relative strengths and weaknesses of
> Smalltalk vs. Ruby?  Considering how much Ruby (apparently) borrows
> from Smalltalk, what are the reasons you choose to code in Ruby rather
> than Smalltalk?

There are a number of different Smalltalk environments, with differing 
attitudes towards programming. Many Smalltalks use the model of an "image" 
that contains all the objects in the system; this is more or less persistent. 
These Smalltalks can be somewhat less convenient to use with a conventional 
(i.e. non-Smalltalk) source code management system, as the objects in the 
system aren't always the result of the direct result of compiling source 
code. (i.e. the system is not necessarily declarative).

Some Smalltalks (Gnu Smalltalk comes to mind here) are more oriented to the 
more conventional "scripting" model where programs are read from source files 
every time they're run; these would be more similar to Ruby.

I use Squeak, personally, for bigger or graphical programs. Since I mostly 
don't do anything that requires "conventional UI widgets", this is a good 
choice for me. The Squeak environment includes a number of high-level tools, 
including various kinds of browsers and viewers. The famous Refactoring 
Browser has been ported recently to Squeak. And Squeak is so far available on 
more platforms than Ruby (like Windows/CE, for instance).

However, I'm likely to grab Ruby (or Perl) for text processing, system glue, 
etc. because such things are more standardized in those languages (for 
example, to get Perl-type regular expressions in Squeak I have to build a 
plugin and install that and some Smalltalk code into my system).

One dialect of Smalltalk that bears watching in the next few months is QKS' 
SmallScript. This is a very ambitious project with probably the most advanced 
VM technology currently available. It is more or less a superset of 
Smalltalk, and will also run in the Microsoft .NET environment.

David Simmons has done very interesting work on SmallScript. He's posted 
quite a few times on comp.lang.smalltalk; you might want to read his postings.

Interestingly, David has also been interested in Ruby...

-- 
Ned Konz
currently: Stanwood, WA
email:     ned / bike-nomad.com
homepage:  http://bike-nomad.com