Smalltalk & Squeak featured on Slashdot

Tom tmb at lumo.com
Thu Apr 19 12:48:53 UTC 2001


On Thu, Apr 19, 2001 at 01:03:21AM -0500, Aaron J Reichow wrote:
> I've not foudn anything close.  I've looked at oo-browser (for XEmacs), [...]
> All annoying, clunky, slow.

Sorry for stepping on a soap box, but when applied to Emacs, I think
these comments are a bit simplistic.  I think people taking a casual
look at Emacs (which may mean "try using it for just a year") often
overlook what has made Emacs the most successful programming environment
ever.

Learning Emacs is a lot of work.  There are hundreds of key combinations,
and to new users windows seem to come and go haphazardly.  If you want
to use any one of its packages, you first have to figure out how to
load it and configure it.  But there is sense in the key bindings and
window management: they show you relevant information quickly and without
needing to interrupt your flow of work.  And the configuration options
generally are things people need and want to configure.

In terms of functionality, there is a huge number of powerful packages
for Emacs.  When used with languages like Lisp (and Smalltalk, if anybody
wrote the interface), Emacs can give you much of the same information
as Smalltalk (browse callers, show uses, go to definition, etc.).
GNUS, RMAIL, and VM are still some of the most powerful and featureful
news and mail readers around, and they had add-ons for collaborative
filtering, relevance feedback, MIME, and automatic display of contextual
information long before those things became hot research topics.
Emacs is still used a lot for research in new UI functionality.
Its file manager (DIRED) is probably still the most effective file
management tool around.  There are a huge number of packages for all
sorts of other things, including web browsing, telnet, and terminal
emulations.  Emacs's integration with a wide variety of programming
languages (including layout) and development systems means you can
develop a whole mixed language system (Lisp, C, ...) from within a single,
consistent environment.

On UNIX, Emacs is an odd hybrid, coming with its own Lisp interpreter and
running in its own process.  But it's small and fast by modern standards
and it has learned to integrate and live well in its new surroundings.
On the Lisp machine, its second home after the DEC-10, Emacs integrated
as well out of the box with Lisp as the Squeak browsers integrate with
Squeak and provided similar functionality.

Of course, there are plenty of things wrong with Emacs.  Foremost,
its lack of multithreading, its lack of any kind of widget set, 
its messy internal organization, and its lack of widespread support
for OOP.  And its learning curve is so steep that many people give up
before they get to really know it.

In any case, I am not suggesting that Squeak should adopt anything
in particular from Emacs.  But I think it's unwise to dismiss it as
"annoying, clunky, slow".  While very different from Smalltalk, Emacs is
the other great programming development environment; take it seriously.
And just like Emacs has learned something from Smalltalk environments,
there is some stuff to learn from Emacs.

Cheers,
Thomas.





More information about the Squeak-dev mailing list