Microsoft shopping for Java alternative

David LeBlanc whisper at accessone.com
Sat Feb 13 06:52:47 UTC 1999


Well, i've been programming for almost 30 years now, and I won't be popular
for saying this, but the biggest drawback to Smalltalk - is Smalltalk!
Don't get me wrong, Smalltalk is my favoritest language in the whole world.
It's class libraries leave me considerably less infatuated.

My first exposure to Smalltalk was the Byte issue on it, followed by the
Blue book. "Hmmmm" I thought, this is great stuff! Then I discovered
"Methods", the first release of Smalltalk for mere mortals from Digitalk.
"Oops!" this was not the class hierarchy from the Blue book! "Oh well" -
something new to learn. Then came Smalltalk/V from Digitalk.. different but
at least similar class hierarchy. I worked and played with ST/V for 4-5
years, then actually found someone who would pay me to keep playing with
ST/V. Then, they switched to ParcPlace and Visual Smalltalk! "EEEK!!" an
almost completely different class hierarchy (ok, some resemblance to the
Blue book, but too different from Digitalk's hierarchy). Then ensued long
-->MONTHS<-- of relearning the class hierarchy before I could really be
productive again. In fact, I really never did regain enough proficiency and
ended up moving back to C++ (one does have to eat). Now i'm looking at
Squeak. WOW! wonderful stuff - and the class hierarchy is yet again a bit
different from anything i've known before - and it's virtually undocumented
so far as i've been able to discover to date (if there is some hidden
treasure trove of Squeak documentation/tutorials, PLEASE LET ME KNOW!!).

The point of this long winded tale is that Smalltalk is so much it's class
libraries, and they tend to be so complicated/convoluted, that it's not
going to be attractive to many people. Java, on the other hand, was
immediately familiar to all those programmers who'd done C and C++ in the
past.

Now, if Smalltalk had one or a few core STANDARD class libraries analogous
to C or C++'s standard libraries, with a reasonably simple GUI library as a
distinct add-on, then we might be talking a different kettle of fish.... GO
FISH GO!! :)

Some libraries that come to mind are:
	Standard Core
		the language and it's establishing classes: class, metaclass, closures etc.
	Standard Types
		Say, about 20 or so, very orthogonal, not too complicated.
	Standard I/O
		Directories, files, streams, "open", "close", "get", "put", "print".
	Standard GUI
		Windows, menus and widgets. Avoid MVC.

When we have this, which allows neophites the same kind of small baby steps
shallow learning curve that the more "traditional" languages offer, then we
have a chance to really have Smalltalk (TBLITW) be a viable language. Of
course, the other KEY is a GOOD introductory tutorial that walks people
from "traditional" to "Smalltalk-think" in an equally gradual and
incremental way. I've read oodles of Smalltalk books, nearly all that have
been written, and no one has really done that. Smalltalk may be easy for
kids, but it's NOT for adults - especially adult programmers who are
accustomed to "traditional" languages. And it's these same adult
programmers whose hearts and minds that need to be grabbed!.

I think the biggest failing of smalltalk has been that there is just so
much you have to learn before you can be even minimally productive.. and
that's a disincentive for all but the stoutest soul.

Sincerely,

Dave LeBlanc

P.S. TBLITW: "the best language in the world" -dhl

P.P.S. This is obviously an over-simplification, and there are more things
that could be done to make Smalltalk more attractive in the production
world, but this is a start - dhl.





More information about the Squeak-dev mailing list