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

Waldemar Dick sourceforge at devmue.de
Fri May 12 22:37:53 UTC 2006


Hi,

Hans-Martin Mosner schrieb:
> 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 previous posts, Smalltalk was compared against Ruby, Python, etc. and 
why it doesn't,
as the more mature language, get the same attention.
Ruby, Python, Java, .Net are all a language + VM or interpreter/compiler 
(for more then one OS)
+ a basic set of libraries.

Smalltalk is only the language. The language comes in a bundle with VM + 
libraries + IDE.
So, actually you can't compare Smalltalk with any other bundle (Ruby, 
Python, ...).
Instead you have to compare, for example Squeak, with the others.
And that is point, that confuses people and makes the entry to Smalltalk 
difficult.

> 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?
The languages we compare Smalltalk to, do this abstraction by providing 
a VM.
> Or why can't you just take your SQL application from ORACLE to MySQL 
> or Sybase?
> After all, SQL is a standard!
Right, all databases have SQL 95 as least common denominator. You can 
work with
the SQL standard.
I was trying to say, that the least common denominator, ANSI Smalltalk, 
is to small to
base actual work on it. No networking, threading, file system (only file 
stream), ...., database, ...
>
> 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 non-portable.
> 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?
Standards across more than one interested party are difficult to 
achieve. And most
of the time this standards come out as a least common denominator, which is
better than nothing, but not a lot more.
Every language hyped or mainstream right now, got exactly one interested 
group.
Creating standards is easy for them.
On the other side, Smalltalk has a lot of interested groups (dialects). 
Creating a
standard is quite difficult.
But without (at least) a standard library, you won't be able to compare 
Smalltalk
to the other languages. Then you are right, you will have to compare it 
with operating
systems.
As a side note: At least one language from above, is successful, because 
it promised
to overcome the operating system barriers.
> 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.
Smalltalk showed that it is possible to overcome operating system 
barriers. It was the foundation for Java Swing and SWT. It is a: all 
been there,
all done that. And I don't understand, why the Smalltalk community can't 
come up with a common library layer.
Don't aim for GUI, but start with something like a common file system 
library.
>
> Cheers,
> Hans-Martin
Greetings
Waldemar Dick




More information about the Squeak-dev mailing list