Smalltalk: Requiem or Resurgence? {Dr. Dobb's Journal (05/06/06) Chan, Jeremy}

Michael Latta lattam at
Fri May 12 21:07:11 UTC 2006

You are correct.  Smalltalk is much more like an OS than just a language.
That is part of the issue.  Unix in many ways could have been much more
successful had there been more to the standard library.  That is a large
part of why Java/.Net are doing so well.  .Net because it has Microsoft
behind it and runs on 90% of the desktops out there.  Java because it runs
on all the platforms out there.  If it were not for vendor introduced bugs
(Apple & IBM VMs being different from Sun's VM) it would be almost as
portable as an ST-80 image.  It also helps open source efforts like Squeak
to have commercial interests involved.  Because Squeak is a separate
platform that becomes harder to make happen.  For example Gemstone supports
VW but not Squeak or Dolphin because the effort required to port vs. the
customer need.  If it was easier to port then there would be more
opportunity to get vendors to support all the platforms and a larger
ecosystem would result.


-----Original Message-----
From: squeak-dev-bounces at
[mailto:squeak-dev-bounces at] On Behalf Of
Hans-Martin Mosner
Sent: Friday, May 12, 2006 1:46 PM
To: The general-purpose Squeak developers list
Subject: Re: Smalltalk: Requiem or Resurgence? {Dr. Dobb's Journal
(05/06/06) Chan, Jeremy}

Michael Latta wrote:

>The point is not who's design is better, nor technical issues.  The point
>that from a user of the system the differences in libraries has negative
>value.  I do not know or care which is better.  I do know that if I could
>take Smalltalk code form one VM to another the market for my work would be
>larger.  The way each VM vendor has chosen to head in their own direction
>means that they do not build a viable ecosystem.  Each vendor's product
>stands alone, and has to build its own ecosystem.
The problem with this comparison is that it is treating Smalltalk as a 
programming language.
It's much easier if you treat it like an operating system or a SQL 
database - it's a platform.

In theory, your C program should just run on HP-UX, Linux, AIX, Windows, 
MacOSX, RiscOS, AmigaOS, ...
Why did all those operating system vendors invent incompatible system 
calls, libraries, file system conventions?

Or why can't you just take your SQL application from ORACLE to MySQL or 
After all, SQL is a standard!

I don't know enough about SQL, but at least in the operating system 
world you can achieve a lot of portability by sticking to POSIX which is 
supported on most platforms.
Similarly, you get pretty good portability in Smalltalk by sticking to 
the ANSI Smalltalk subset.
Of course, GUI widgets etc. are not included in that standard and so are 
But does POSIX include standard GUI widgets? Can you write a GUI 
application in C and port it from Linux to Windows without a lot of work?

I agree with you that it would be great to have easier portability 
between the different Smalltalk systems, so you could switch platforms 
when needed without too much work.
But in reality, switching between platforms has never been easy. 
Actually, the closest thing to effortless platform migration was/is 
*Smalltalk* with its image file which can be run unchanged on a large 
number of platforms! I've done it with VisualWorks, Squeak and 
VisualAge. The two Smalltalk-80 descendants provide much easier 
migration (just snapshot your image and start up on another machine) but 
VisualAge is pretty doable as well as long as you're willing to work 
around the quirks of the different native widgets under OS/2, Windows 
and Unix/X.


More information about the Squeak-dev mailing list