Introduction
Basic OOP Concepts and Terminology
The Smalltalk Object Model
Message Sending Syntax
Unary Messages
Binary Messages
Keyword Messages
Parsing Expressions
Discussion of Smalltalk Syntax
Smalltalk is Un-Typed
The Distinction Between Types and Classes
Dynamic Typing
Assignment Statements
Type Conversions
Type Casting
Expressions as Statements
Statement Sequencing and Grouping
Flow-of-Control Statements
The "If" Statement
The "While" Statement
The "For" Statement
The "Return" Statement
The Character Set
Literals and Predefined Names
Class Variables
Class Methods
Object Creation
Constructors
Arrays
Blocks
Flow-of-Control Statements Revisited
User-Defined Flow-Of-Control Constructs
An Example Using Blocks
Smalltalk as a High-Level Language
On Code Re-use
The Existing Class Hierarchy
Virtual Machine Implementation
Portability of Smalltalk
Method Syntax
Incremental Compilation
Garbage Collection
Self and Super
"NULL" versus "nil"
The "Message-Not-Understood" Error
Accessing an Object's Fields
Public and Private Methods
Metaclasses and Reflection
The Image
The Smalltalk Development Environment
The Workspace
The Code Browser
Browser Example
Debugging Smalltalk Code
Debugger Example
The Object Inspector
Smalltalk as an Operating System
Evaluation of Smalltalk's History
Concluding Remarks
Additional Resources
Please email any corrections to the author at:
About the Author