There are many free books about Smalltalk available online. Here’s a list of them.
Many of the books are quite old, but they still contain useful information about the overall nature of the Smalltalk language. As curator, here are several that I recommend:
- Smalltalk by Example
- Squeak by Example
- Computer Programming using GNU Smalltalk
- The Art and Science of Smalltalk
- Smalltalk: An Introduction to Application Development Using VisualWorks
- Smalltalk and Object Orientation
- Dynamic Web Development with Seaside
Here’s my personal favourite (also available at Amazon):
- Smalltalk, Objects, and Design, by Chamond Liu
Advanced Books (commercial)
The book “Streamlined Object Modeling: Patterns, Rules, and Implementation” can be recommended, as can “Smalltalk Best Practice Patterns.”
The Design Patterns Smalltalk Companion is a great book!
Then there are these books by Andres Valloud.
- GNU Smalltalk Tutorial
- This is a reference I find useful
- Squeak from the very start
- VisualWorks Tutorial
- An advanced Seaside tutorial – our own little Reddit in Smalltalk!
- Another great Seaside tutorial from James Foster!
Free Pharo Books
There are many excellent books on Pharo. You can find them here.
Pharo By Example is the principal Pharo reference. Everyone should read this.
This is a nice little introduction to Smalltalk syntax. The same tutorial is essentially available within the Pharo image after you’ve installed Pharo.
This is a reference I find useful.
Here’s a Pharo Quick Start guide.
Pharo has a MOOC, now going into its fifth edition in 2020. It has introduced Smalltalk to thousands of new users.
For people interested in programming the Raspberry Pi using Pharo, here’s an advanced tutorial.
- Noel Rappin on Pharo
- Getting Started with Pharo
- ProfStef from within Pharo itself
- James Robertson on the basics of Pharo
- Pharo Video Tutorial
- Introduction and simple example of Smalltalk/Pharo
- 7 minutes of Pharo Smalltalk for Rubyists
Here is a tutorial series I prepared for JRMPC: Pharo Tutorial Series.
There is a great deal of documentation available for Pharo. You can find it here.
There are a great many libraries, frameworks, and tools available for Pharo. You can find them here.
This is a handy cheat sheet for Pharo which summarizes all the essentials.
You can ask questions at the Pharo user forum. StackOverflow is always a great resource.
The Smalltalk Family
Like Lisp, Smalltalk is not one language but a family of languages. Here are the notable ones:
- Pharo (PharoJS is designed for the web browser)
- Squeak (SqueakJS is designed for the web browser; Caffeine, too)
- Cuis Smalltalk
- Dolphin Smalltalk (designed for Windows, though you can run it in macOS, too)
- GNU Smalltalk (command-line Smalltalk without the IDE)
- Amber (designed for the web browser)
- Cincom Smalltalk (download your free, personal use copy)
- VA Smalltalk (academic licenses are available, as well as donation licenses to open source committers)
- GemStone/S (a Community Edition license and starter keyfile are distributed with the product)