What is Smalltalk?
written by Peter William Lount
August 16th, 2004
Version 1, 8:11pm PDT
Smalltalk is a computer language designed specifically for a wide range of humans rather than a narrow
group of computer specialists.
Let's see what Alan has to say about how the name "Smalltalk" came about:
It is "called "Smalltalk"--as in "programming should be a matter of ..." [Smalltalk]
and "children should program in ..." [Smalltalk].
The name was also a reaction against the "IndoEuropean god theory" where systems were named Zeus,
Odin, and Thor, and hardly did anything.
I figured that "Smalltalk" was so
innocuous a label that if it ever did anything nice people would be pleasantly surprised."
- Alan Kay, The Early History of Smalltalk, section III, Origin of Smalltalk's Name"
And we are very happy with what Smalltalk can do and how it does it!
See a Brief Introduction to Smalltalk
for an quick overview of Smalltalk.
To learn Smalltalk click here
. There are many excellent materials and
free books online to learn Smalltalk.
By The Gods Of COBOL
Hey why did they call smalltalk .. small? Is it less wordy than most languages? Were they comparing it to COBOL?
- Chris H.
Is COBOL a god? It is in Battlestar Galatica (Adama is always saying the "By the Gods of Cobol"). ;-) Cobol
as a language sure is reserved wordy and hardly does anything, ok, there are a lot of Cobol programs, but seriously, ick.
Smalltalk is less reserved wordy than other languages with only five or so reserved words: self, super, nil, true and false.
Some dialects of Smalltalk add a couple more for accessing the current method context.
This is a big generalization, but basically the more reserved words a system has the more rigid it is.
For example, in most programming languages the "program flow control structures" such as "for", "while", "if then else", ... are
In Smalltalk program flow control structures are simply methods in the class library and most have full source code
available for browsing or creating your own variations. As a result of shifting "reserved words" from the language syntax definition
into the class library a more flexible and expandable system was realized.
Twenty five years after Smalltalk-80 was released the designers of most other languages
(C++, Java, C#, ...)
are still not taking advantage of this important dimension of expandability, which means that those other languages lack this
important dimension of expandability that Smalltalk not only allows but encourages, extensibility of basic capabilities of the language.
The biggest benefit is that it's possible for you
to extend the language simply by adding new program flow control structures.
At least twenty or so of these extensions have
been adopted widely across the various smalltalk versions.