Home
Archives
About us...
Advertising
Contacts
Site Map
 

ruby in steel

 

PROGRAMMING MILESTONES: SMALLTALK

 

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 Smalltalkhttp://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

 


Home | Archives | Contacts

Copyright © 2006 Dark Neon Ltd. :: not to be reproduced without permission