If it hadn’t been for Smalltalk,
the computer screen in front of me at this moment would
look totally different. For all I know, it would have
a black background with green text, no graphics, no
font styles and no overlapping windows. It might not
have mouse menus either - for the simple reason that
I might not be using a mouse.
Rewind to the early ‘80s and the computer screen
in front of me would have fitted that description perfectly.
In those days my PC ran on a primitive operating system
called MS DOS. This allowed me to run one application
at a time in a screen filled with monochrome text. I
certainly didn’t have a mouse for the simple reason
that there would have been nothing I could have done
with it. Move windows? There were no windows. Draw graphics?
There weren’t any graphics. Nope, to all intents
and purposes, my PC was just a glorified typewriter.
“The best way to predict
the future is to invent it” ::
Alan Kay
|
Meanwhile, a computing revolution had already taken
place. But it would be many years before its effects
would be felt by the world at large. Throughout the 1970s
a team based at the Xerox Learning Research Group at
the Palo Alto Research Centre (Xerox PARC) had been developing
a programming language and integrated development environment
called Smalltalk. This went through a number of versions:
notably, Smalltalk-72, Smalltalk-74, Smalltalk-76 and
Smalltalk-80. This last version, Smalltalk-80, might
be regarded as the ‘standard’ version of
Smalltalk from which subsequent implementations have
been developed. Smalltalk-80 had a graphic environment
with windows, multiple fonts and popup menus. The first
I, and most other people, heard of this was when the
magazine, Byte, devoted a special issue to Smalltalk
way back in August 1981.
To give you some idea of just how revolutionary Smalltalk
was, the Byte editorial even had to explain this ‘mouse’ thing
- (I quote: “the ‘mouse’ [is]
a small mechanical box with wheels that lets you quickly
move the cursor around the screen”).
Oh, and there was one other interesting little thing
about Smalltalk. Objects. While Smalltalk wasn’t
the first language to use Object Orientation (the Simula
language can probably claim that) it was the first language
to make a major impression with OOP.
Smalltalk was largely the brainchild of Alan Kay who
conceived it as part of a hand-held networked computer
system called the Dynabook. This was an audacious concept
at the time. You have to remember that portable computers
back in those days often required two strong men to lift
them. A hand-held computer with built-in networking and
high resolution graphics seemed, to many of us, a pipedream
which would never be seen in our lifetime.
The first, and arguably the most important, influence
of Smalltalk on mainstream computing was its graphical
user interface. Steve Jobs has acknowledged that the
Mac interface was inspired by Smalltalk. This, in turn,
undoubtedly inspired other graphical interfaces including
Windows.
“The first thing they
showed me which was the graphical user interface.
I thought it was the best thing I'd ever seen in
my life… it was obvious to me that all computers
would work like this some day." ::
Steve Jobs - on first seeing Smalltalk at Xerox
PARC
|
That alone would have been sufficient to ensure Smalltalk’s
claim to be a hugely important milestone in the history
of computing. Given the fact that it also popularised
object orientation and integrated development environments,
you might say that Smalltalk represents not one but two
milestones.
In some respects, all those modern OOP programming
languages (C++, Java, C#, Delphi et al) still haven’t
yet caught up with the innovations made by Smalltalk
over quarter of a century ago. Some of them (such as
C++ and Delphi for Win32) are hybrid procedural/OOP languages.
And even ‘pure’ OOP languages such as Java
and C# are still not quite as pure as Smalltalk. Besides,
Smalltalk has a few neat tricks (the ability to select
and execute any arbitrary piece of code is one of my
favourites) that those copycat languages lack.
“I invented the term
'object-oriented', and I can tell you I did not
have C++ in mind" :: Alan Kay
|
Some people feel that the widespread adoption of the
OOP paradigm has caused more problems than it has solved
(see Dermot Hogan’s Bytegeist column). Others feel
that Smalltalk was so far ahead of its time that its
time may, even now, be yet to come.
If you haven’t already tried Smalltalk, you may
want to download our exclusive free copy of the excellent
Dolphin Smalltalk, follow our tutorials, and make up
your own mind.
For a more detailed account of the birth of Smalltalk,
see Alan Kay’s article, 'The Early
History of Smalltalk’ http://gagne.homedns.org/~tgagne/contrib/EarlyHistoryST.html
For more information on Smalltalk, visit: http://www.whysmalltalk.com and http://www.smalltalk.org
|
Why the hot air balloon?
A picture of a multi-coloured hot air balloon
has become almost the unofficial ‘logo’ of
the Smalltalk language. This derives from the cover
art painted by Robert Tinney for the 1981 Byte
magazine Smalltalk issue. According to Adele Goldberg
(who was then the Manager of the Learning Research
Group at Xerox PARC) it symbolises Smalltalk rising
above the choppy seas inhabited by other programming
languages (the sea of programming languages was
an idea used for an earlier illustration by Tinney)
and taking flight into the mainstream of the computer
programming community.
|
August 2005
|