Smalltalk: Big things forecast
Journal of International Information Management
Volume 3
Issue 2
Article 6
1994
Smalltalk: Big things forecast
Brian D. Lynch
University of Wisconsin- La Crosse
Follow this and additional works at: https://scholarworks.lib.csusb.edu/jiim
Part of the Management Information Systems Commons
Recommended Citation
Lynch, Brian D. (1994) "Smalltalk: Big things forecast," Journal of International Information Management:
Vol. 3 : Iss. 2 , Article 6.
Available at: https://scholarworks.lib.csusb.edu/jiim/vol3/iss2/6
This Article is brought to you for free and open access by CSUSB ScholarWorks. It has been accepted for inclusion
in Journal of International Information Management by an authorized editor of CSUSB ScholarWorks. For more
information, please contact .
Smalltalk: Big things forecast
Cover Page Footnote
The fundamental objective of this paper is to provide an overview of Smalltalk's recent emergence as a
major programming language. Smalltalk's growth in popularity is being driven by information systems
professionals' increasing interest in learning and applying object-oriented technology. The paper proceeds
as follows: first, the historical significance and commercialization of Smalltalk is discussed; next, an
overview of the object-oriented paradigm is presented; then, pure and hybrid object-oriented languages
are contrasted; and finally, a brief summary of Smalltalk's history and future is presented.
This article is available in Journal of International Information Management: https://scholarworks.lib.csusb.edu/jiim/
vol3/iss2/6
Lynch: Smalltalk: Big things forecast
Smalltalk
Journal of International Information Management
Smalltalk: Big things forecast
Brian D. Lynch
University of Wisconsin-La Crosse
ABSTRACT
The fundamental objective of this paper is to provide an overview of Smalltalk's recent
emergence as a major programming language. Smalltalk's growth in popularity is being driven
by information systems professionals' increasing interest in learning and applying object-ori
ented technology.
The paper proceeds as follows: first, the historical significance and commercialization of
Smalltalk is discussed; next, an overview of the object-oriented paradigm is presented; then,
pure and hybrid object-oriented languages are contrasted; and finally, a brief summary of
Smalltalk's history and future is presented.
THE HISTORICAL SIGNIFICANCE OF
COMMERCIALIZATION OF SMALLTALK
The first language developed purely to support object-oriented programming was Smalltalk
(Martin, 1993). It was during the development of Smalltalk that the term object-oriented origi
nated (Goldberg & Robson, 1983). However, the conceptual foundations for object-oriented
technology dates back to the early 1960s and the development of the Simula programming
language (Martin, 1993).
Guided by the central ideas of Simula, Alan Kay while a graduate student at the Univer
sity of Utah in the late 1960s did research related to object-oriented technology. Then in the
early 1970s, Kay went to Xerox's Palo Alto Research Center (PARC) and developed Smalltalk
(Martin, 1993). Adele Goldberg and Daniel H. H. Ingalls are also credited with having made
key contributions to Smalltalk. Over time, Smalltalk evolved into Smalltalk-76 and then Smalltalk80 with versions developed by Xerox and others to run on a number of different computers
(Meyer, 1988). In the mid 1980s, Goldberg championed the formation of ParcPlace Systems as
an independent company to make Smalltalk a more commercially viable product (Garber, 1993).
Today, the two leading Smalltalk vendors are Digitalk and ParcPlace Systems (Verity, 1993).
From a historical perspective, Smalltalk's development played a key role in the emergence
of graphical user-interfaces (GUIs)-composed of graphical objects such as overlapping win
dows, icons, pop-up and pop-down menus, and buttons to be clicked with a mouse. For ex
ample, Steven Jobs' viewing of Smalltalk during a 1979 visit to Xerox PARC provided him with
the idea that eventually led to the Apple Macintosh and its ground-breaking GUI approach
(Verity, 1993).
63
Published by CSUSB ScholarWorks, 1994
1
Journal of International Information Management, Vol. 3 [1994], Iss. 2, Art. 6
Journal of International Information Management
Volume 3, Number 2
Today, a convergence of technological advances—such as the growth in the use of GUIs
and more powerful desktops—has furthered the growth and penetration of object-oriented lan
guages. GUIs like Apple's Macintosh and Microsoft's Windows lend themselves to the utiliza
tion of the object-oriented approach for systems development (The, 1992).
Currently, the dominant object-oriented development environment is C-n-. The C-h-t- mar
ket is roughly 10 times the size of the Smalltalk market (Bozman, 1993). But Smalltalk is pro
jected to have a 30% market share by 1997 (Radding, 1994). A survey of 291 corporate systems
developers object-oriented plans by Market Perspectives provides additional evidence of
Smalltalk's commercial emergence. Twenty-eight percent planned to be involved with Smalltalk
in the next two years (Ballon, 1994). Further, IBM plans to implement the Smalltalk language
across all its hardware and operating systems platforms by the end of 1995 (Stedman, 1994).
AN OVERVIEW OF THE OBJECT-ORIENTED PARADIGM
Complete agreement among information systems professionals as to what exactly consti
tutes object-oriented software is still lacking (McGregor & Sykes, 1992). Nonetheless, five
concepts underlie most discussions of the object oriented paradigm: objects, classes, inherit
ance, encapsulation and polymorphism (e.g., Davis, 1994; Jacobson et al., 1992; Martin, 1993;
McGregor & Sykes, 1992; Melymuka, 1994; Parker, 1993; Wilde & Huitt, 1992).
An object represents a single instance of a person, a place, or a thing. Objects have data
(attributes) and methods (processes) associated with them. Similar objects are grouped together
to form classes or object types—e.g., beagle and collie could be considered objects in a class
known as dog. Similar classes can be grouped together based on their common characteristics to
form class hierarchies. The key is to organize class hierarchies following a generalized to spe
cialized continuum—e.g., mammal->dog->beagle.
Inheritance permits a class lower in a class hierarchy to inherit the attributes and methods
of classes above it in the class hierarchy. Thus, when defining a new class in a class hierarchy,
only the 'new' characteristics need be defined—i.e., those attributes and methods not present in
the classes above it in the class hierarchy.
Encapsulation or data hiding requires that an object's data and implementation details are
hidden from other objects. Thus, an object's data can only be accessed through its own methods.
Encapsulation prevents an object's data from being corrupted or misused, because it blocks
users from accessing the data except through the object's own methods.
Literally, polymorphism means man (...truncated)