Where Intelligent Technology Meets the Real World
Contact PC AI
Smalltalk Programming Language

History of Smalltalk

 In the 1970's researchers at Xerox PARC were exploring ways to make programming accessible to anyone interested in using a computer to solve their problems. This led to the invention of Smalltalk, the first true object-oriented programming language with tools that could assist the user in developing applications with graphical user interfaces. This technology became the model for the Macintosh and Windows user interfaces.

The Lure of Smalltalk

 Computer researchers have always wanted to create a language that lets programmers model applications closely to the real-world problems they try to solve. Smalltalk is the result of those efforts.

Smalltalk is a dynamic language whose special benefits derive from three unique characteristics: pure objects, exploratory programming, and malleable models. Pure objects is the idea that objects communicate only via messages; there are no cross-object memory references as there are in most other languages. Pure objects are inherently more reusable than hybrid approaches because they completely decouple object usage (the external interface) from object implementation (the internal code and data). This allows an object to be used continually, even though its internal implementation may change.

Smalltalk fosters exploratory programming by providing a forgiving environment. This is characterized by incremental development in which a change can be implemented and then tested immediately. Errors can simply be backed out or modified. The Smalltalk environment rewards (rather than penalizes) trying out ideas, thus enhancing both creativity and productivity. With a less dynamic language, many ideas are not tried because the price of making a programming mistake is too high.

Smalltalk is well suited to building malleable models of business processes. Due to Smalltalk's dynamic nature, the model can be kept running in the face of incremental change where the cumulative effect is quite extraordinary. Because the business environment is undergoing constant and accelerating change, business process models are continually changing and in many respects the problem faced by the enterprise is how to evolve these models incrementally while continuing to use them.

Smalltalk - the Natural Successor to COBOL Smalltalk is finding its greatest success in the enterprise development organization that is moving to client/server architecture, and where COBOL has been used previously. There are several reasons why Smalltalk appeals to COBOL users. First, both languages share the characteristic of approachability. They read like natural language rather than technical symbology. This makes them practical for business logic, which needs to be understood by business people who are not necessarily technologists.

Next, they are viable because they are standard languages. There is a de facto standard in place for Smalltalk, which is documented and implemented by several vendors. A Smalltalk ANSI standards committee has been formed to further develop the standard.

Finally, unlike COBOL or even Object COBOL, Smalltalk is a pure object language. This makes it ideally suited to modeling business processes. Smalltalk can be used to define new concepts, making it scaleable for the enterprise.


Smalltalk - A Brief Description

 Objects in Smalltalk can represent real-world objects, and their methods can model the behaviors of those real-world objects. For example, the objects "automobile" and "truck" inherit data (like "has wheels" and "has an engine") and methods (like "accelerate to maximum speed") from the class "Vehicle". These objects, however, may differ on their specific values for the "wheels" and "engine" properties, and on their "accelerate" method. Within a Smalltalk program, messages are sent to objects instructing them to invoke their methods. In a program that simulates the movement of vehicles, an "accelerate" message might be sent to "car" and "truck". Each object would then active its particular "accelerate" method. (Reference: LANGUAGES OF AI by Joseph Schmuller, September/October 1991, page 21)


Glossary Link - Smalltalk Programming Language


To Scheme Programming Language
To Blackboard Technology

Smalltalk Information on the Internet
CMU AI Smalltalk Repository Contains shareware implementations, FAQ, newsgroup archives, and other information. 
Different Smalltalk Implementations and Dialects A archive of Smalltalk implementations and information. 
Free Smalltalk Compilers and Interpreters Free compiler site containing many languages including Smalltalk. 
Smalltalk Archive Washington University in St. Louis data archive. 
Smalltalk Archive - SunSite GNU Smalltalk 
Smalltalk in the News News releases, articles, and customer experience reports.
Smalltalk FAQ Contains the Smalltalk FAQ which includes Meta issues, archives, projects, references, programming issues, and vendor information. 
Smalltalk FAQ Contains links to several FAQs as well as links to tutorials
Smalltalk Programming Language Learn about what the smalltalk programming language is.
Why Smalltalk Informative sight on Smalltalk and similar languages such as Dylan.
Yahoo - Smalltalk Programming Language Computer Languages Focused on Smalltalk -- Links at these sites include the Smalltalk archive, Smalltalk for the Macintosh, an index of sources of Smalltalk information, Usenet, and FAQ. 

Other Smalltalk Vendors
Formerly VMark.  ENFIN Smalltalk and numerous other object-oriented development products. 
VisualAge for Smalltalk is a product set of object-oriented, application-development power tools with support for graphical user interface (GUI) and client/server workstation applications. There are separate products for OS/2, Windows+, and AIX, and one server product that supports for all three platforms. 
Company profile, products, press releases, ENVY distributors, and more.
Contains information about their products, services, support, as well as their latest press information. 

Dynamic Search Engine References
Search the web for "smalltalk language" references using:
Google Lycos Yahoo InfoSeek Alta Vista

Article References
Two Object-Oriented Languages: Actor And Smalltalk/V Stant, V. (1987) PC AI, 1(4), 54. 
A Wealth of Languages: Smalltalk, LISP, Prolog Keyes, J. (1992), PC AI, 6(5), 20-44. 
An Earful of Smalltalk: Objects and Methods Williams, J. (1992), PC AI, 6(5), 48-53. 
Object Oratory: C++ vs Smalltalk Williams, J. (1993), PC AI, 7(3), 22-29. 
Source Code Control In A Smalltalk Environment Pitts, D. and Miller, B. (1995) PC AI, 9(5), 34. 

Book References
Smalltalk-80: The Language and Its Implementation Goldberg, A. and Robson, D. (1983) Reading MA: Addison-Wesley 
Search: Enter keywords... 

Amazon.com                       logo
A Taste of Smalltalk Kaehler, T. and Patterson, D. (1986) New York: W. W. Norton 
A Little Smalltalk Budd, T. (1989) Reading, MA: Addison-Wesley 
Object Oriented Programming With Wmalltalk/V Savic, D. (1990) Chichester, West Sussex: Ellis Horwood Limited pps 340, ISBN 0-13-040692-9 
The Art and Science of Smalltalk - An Introduction to Object-Oriented Programming Using Visualworks Lewis, S. (1995) Prentice Hall / Hewlett-Packard Professional Books 212pp, ISBN 0-13-371345-8 
The Distributed Smalltalk Survival Guide (Advances in Object Technology , No 19) Montlick, T. (1999) SIGS Books and Multimedia, pps. 240. ISBN 0521645522
Smalltalk, Objects, and Design Liu, C. (2000) Iuniverse.com, pps. 289. ISBN 1583484906

Other AI Info Categories

AI Languages ------------------------------------------------------> C++
Blackboard Technology Client/Server Dylan
Creative Thinking Data Warehouse/Mining Forth
Distributed Computing Expert Systems Lisp
Fuzzy Logic General AI Sites Logo
Genetic Algorithms Help Desk OPS
Intelligent Agents Intelligent Applications Prolog
Internet Logic Programming Scheme
Machine Learning Modeling and Simulation  
Multimedia Natural Language Processing  
Neural Networks Object Oriented Development  
Optical Character Recognition Robotics  
Speech Recognition Virtual Reality  

PC AI Magazine

PCAI.TH @ gmail.com
Copyright (C) 2001-2002, All rights reserved
Designed by Terry H. and the web team at Knowledge Technology: Comments? webmaster @ pcai.com