Department of
Computer Science


CS 410/510 Advanced Programming

What is Squeak

Squeak VM Download

Squeak Image

Squeak Sources

SqueakSource project





What is Squeak?

Squeak is a modern, open source, highly portable, fast and full-featured implementation of the powerful Smalltalk programming language and environment.

When Smalltalk was created more than 35 years ago it defined the term object orientation and is the first language in which everything is built from objects. Smalltalk is deeply inspired by ideas from especially Simula, Sketchpad and Lisp and even today Smalltalk sets the bar for object oriented dynamically strongly typed interactive languages and environments.

You may be familiar with other open source languages like Ruby or Python, but Squeak takes these concepts much, much further offering a true uniform fully reflective environment, where everything is a real live object.

You will need four files: a Virtual Machine, a sources file, and image/changes file pair (provided by me for this class)

For more information, see the Squeak website.

Getting started with Squeak

The Squeak environment is sufficently different from what you are probably used to that you may have some trouble getting started. Along with some of my colleages, I have written a book, Squeak by Example, filled with step-by-step exampled to help you become familiar with and prodiuctive in Squeak. I stronly recommend that you procure a copy of the book, and that you work through the examples. The pdf download is free; you can also buy a printed copy very cheaply from Lulu.

Squeak Virtual Machine Download

  • If you are using a computer in the CS lab at PSU, the Squeak VM should already be installed.

  • If not, download it here: Unix (including MacOS X), Windows and others

Put this whereever your OS likes you to put executables.

Make a working directory for yourself

Which Squeak image should I use?

  • I recommend that you use the Squeak image prepared for the book. Put it in a new working directory and unzip it. It consists of two files: a .image file and a .changes file. You will need both; they are the same on all platforms. Make a virgin backup copy now! These files will change as you work.

Squeak Sources

  • You will also need the "sources" file. This a binary file, and is the same on all platforms. It is zipped-up with the class image to discourage your download agent from treating it as a text file. Without this file, Squeak will complain that it can't find the sources, and you won't be able to browse the source code of the standard system classes. Unzip this file and put it in your working directory. It won't change.

    If, after a while, you have several working directories, you may find that you need several copies of the sources file. To avoid this, you can use symbolic or hard links instead of copies (However, on MacOS you can't use aliases). Alternatively, you can put the sources file in the same directory as the executable file that contains the Squeak VM. (On MacOs, that's inside the package/Contents/MacOS directory of the VM).

Try it Out

  • Launch Squeak! Depending on your user interface, double-click on the image file, drag the image file into the VM, or change to your working directory and type <path to VM> <image file>.

Directory of more Squeak stuff

  • As the quarter progresses, I'll put stuff that we find useful in one of two places. The best place is SqueakSource, an open repository, where there is a class project. There is also a local directory.

Resources for Learning Squeak

Most recently modified on Sunday 18 January 2009 at 16.06

Andrew P. Black