Learning Squeak is easier now
September 14, 2007 by Mark Miller
If you’re a software developer and you’ve wanted to learn Squeak, it’s been a struggle for a while now.
In 2001 and 2002 Mark Guzdial wrote two books on it: Squeak: Object-Oriented Design with Multimedia Applications, and Squeak: Open Personal Computing and Multimedia (co-authored with Kim Rose). These are two books I found that have a system/programmer perspective on it. They’re both out of print, but last I checked they’re still available from Amazon.com. A lot of the knowledge in these two books is still relevant to Squeak, but they are in a sense out of date, because they were written for earlier versions, and some of the features Guzdial talks about are either broken now or non-existent in the current version, and there are tools that are in common use now in Squeak that didn’t exist at the time he wrote them. By the way, if you get these books I strongly recommend that you get Squeak version 2.8, because it’s the version the books talk about. If you can, get the CD with the book (some of the used editions don’t have it). It has version 2.8 on it. 2.8 is also available online.
Just today I heard about a new book that’s been published called “Squeak By Example”, written by Andrew Black, Stephane Ducasse, Oscar Nierstrasz, Damien Pollet, Damien Cassou, and Marcus Denker. It’s available as a free PDF (though financial contributions are accepted), or you can pay for a print-on-demand softcover book. The book is released under the Creative Commons Attribution-ShareAlike license. It is also open source. It will change over time, and knowledge contributions are welcome. There is a lot in it. It’s 300 pages right now.
This is a developer-focused book. If you’re looking for a book that looks at Squeak from a child’s/educator’s perspective, I’d recommend any of the other books on Squeak, such as Squeak: Programming With Robots, by Stephane Ducasse.
I’ve done a quick look-through of Squeak By Example, and my own assessment is it teaches you about the system features, both from a UI and programmatic perspective. While there is plenty of Smalltalk code in it, it’s not intended as a book for learning the Smalltalk language. For that they suggest you take a look at the collection of free books on Smalltalk that are available online. As far as I know these books are out of print, but they’re still useful. As an introduction I’d suggest “I Can Read C++ and Java But I Can’t Read Smalltalk” (PDF), by Wilf LaLonde.
As I’ve said before, there are tools you can run inside of Squeak. This book discusses many of the ones developers will need to know about. Each tool also has an object model that is accessible from inside your own code, which is also discussed.
It talks about the system, or kernel objects, such as collections, streams, and the meta-object model. It talks about message passing, which is the mechanism by which you and objects communicate with other objects.
It teaches the basics of how to use Squeak in a nice level of detail. One of the things I haven’t liked about most of the Squeak tutorials out there is they ignore the basic, beginner-level knowledge someone new to it needs to know, like how to bring up menus, what menus are available, and what you can do with them, not to mention how to install and run it (though this is pretty easy). This book allows you to ease into it, showing you how to install Squeak, and how to use the mouse with it.
I’ve been itching to recommend this tutorial, done by Stephan Wessels, but I haven’t because it skips the beginner basics. Now I can, since you can learn these basics elsewhere. He takes you step by step through a complete development example, creating a “laser” game in Morphic, a graphical objects/UI framework in Squeak.
Just as a side note, when I first saw Stephan’s tutorial it reminded me of Laser Chess, by Mike Duppong, a game that was originally published in Compute!’s Atari ST Disk & Magazine 20 years ago (the multi-platform Compute! Magazine published ports of it for Commodore, Atari 8-bit, and Apple II computers). Now you can play it against other people online. Neat! By the way, check out this version of it. There’s a little movie you can watch of the gameplay. Cool action and sound effects!
I remember playing it on my Atari 8-bit back when Compute! published it and it was DOG SLOW! There’s also this online version that has tried to remain faithful to the original.
Anyway, enough reminiscing. Here are some other tutorials on the Squeak Wiki. Like I said, they typically don’t cover the beginner basics, but once you know them, you’ll probably find other useful information here.
For you web developers out there, once you learn the stuff I mentioned above, you can move on to the Seaside tutorial.
Go forth, and enjoy Squeak!
—Mark Miller, http://tekkie.wordpress.com
Thanks for the links, I have been looking forward to learn squeak, now with this book, I probably can.
[...] wrote about the first edition here, along with links to tutorials that I thought readers would find useful after perusing it and [...]