Previous | Table of Contents | Next |
by Jonathan Pletzke and Victoria Pletzke
This chapter is primarily targeted to all computer programmers, who may know something or nothing about Smalltalk. Although the typical reader of this chapter may know about other programming languages and some features of programming languages, this chapter is presented and written in a manner for all who are interested in learning about Smalltalk. Specifically, this chapter shares what makes Smalltalk different, what its like to program in Smalltalk, how Smalltalk has been successfully applied, and where to find out more about this programming language. Ultimately, the goal of this chapter is to provide a feel of what it is like to use Smalltalk and to offer an understanding for why programmers like to use Smalltalk.
In this chapter, code in this typeface, represents Smalltalk source code. The Smalltalk source code is mixed in with regular text, as Smalltalk tends to follow the English (or other) language of the developers, and is quite readable and self-documenting.
As with most technologies, the marketers have sold Smalltalk as the silver bullet (Brooks, 1995) capable of solving all the ills of the development world. Although Smalltalk is good for many types of applications, it is also a poor choice for others, so success in Smalltalk is more a matter of good management than a choice of technology.
The tools industry is abuzz with the virtues of Java, but most of the features present in Java have been a part of Smalltalk for more than 25 years. Furthermore, in stark contrast to Java, Smalltalk has grown slowly and steadily in popularity and success during its long presence as a development language. Because the tools manufacturers make money only on the sale of development tools, training, and upgrades, the stagnation of the C++ market to date has launched the Java market into the forefront of the medias attention. A few years ago, when C++ was touted as the solution to the worlds development woes, Smalltalk was supposed to fall by the wayside as yet another abandoned technology. But in 1996, IBM posted a 225% increase in sales of the VisualAge/Smalltalk product, and new Smalltalk products were announced and delivered by entrepreneurial companies such as Intuitive, Object Connect SARL, and QKS.
In addition to new commercial ventures, Apple Computer released a free version of Smalltalk, nicknamed Squeak (http://www.research.apple.com/research/proj/Learning_Concepts/squeak/intro.html), that has been ported to many platforms, includes the virtual machine source code in C (which is generated in part from Smalltalk code), and was created by some of the early Xerox PARC researchers, who now work at Apple and more recently at Disney. Another free version of Smalltalk, SmalltalkExpress (released by ObjectShare), was derived from a commercial development tool called Smalltalk/V (now Visual Smalltalk) and is available free on the Internet (http://www.objectshare.com). LearningWorks, a derivative of the VisualWorks product, has also been released as free software (http://learningworks.neometron.com). LearningWorks includes a reduced set of functionality aimed at teaching new Smalltalk programmers techniques and extensive Smalltalk class libraries by gradually revealing more classes and methods as the student progresses.
Many programmers enjoy working with Smalltalk and swear they will never program in anything else again. This chapter covers the history and some of the main advantages (and disadvantages) of embarking on a Smalltalk development journey. The simplicity of the one-page language is revealed, and some of the key features of the Smalltalk runtime and development environments are detailed. The chapter also illustrates the culture of the language, the people and how they work together as a community, and some projects that have met with success in Smalltalk.
Smalltalk got its start in the early 1970s in the Xerox Palo Alto Research Center (PARC; Bergin & Gibson, 1996). The team that invented the Smalltalk language and development environment was headed by Alan Kay.
Smalltalk was born as a simulation language, along the lines of Simula (a specialized enhancement to ALGOL). Many versions of Smalltalk came out of Xerox PARCfrom 1971 to 1980 (the final version was called Smalltalk-80). In these years, Smalltalk was the operating system for the Dynabook and other computers.
When the folks at Apple Computer stopped by Xerox to see Smalltalk, they were impressed. They took the ideas of a GUI, and scalable typefaces with them, but didnt grasp the power of object-oriented programming at the time. The ex-Xerox PARC people who founded Adobe Systems came from Smalltalk, where the concept of scalable typefaces was prototyped. It seems as though many of the innovations in desktop computing today are technologies that started in Smalltalk at Xerox PARC. This leads one to the question of whether the current developers of Smalltalk software are also inventing the future of computing.
The widespread introduction of Smalltalk happened when Smalltalk, along with a colorful balloon, appeared on the cover of Byte Magazines August 1981 issue (Byte Magazine, 1981). The issue focused on Smalltalk and included articles from some of the researchers at Xerox PARC. At the time of the issue, no easily obtainable versions of Smalltalk were in existence.
In the few years following the Byte Magazine articles and the publication of a series of books covering Smalltalk (Goldberg & Robson, 1989), commercial versions of Smalltalk became available. These versions were reported to be slow (running on an IBM-AT) and required lots of memory (more than 640K). These versions were also slow due to interpreted execution.
Previous | Table of Contents | Next |