About Squeak

Open Cobalt runs within Squeak, a highly capable cross-platform open-source implementation of Smalltalk that provides a very powerful, flexible, yet easy-to-learn language for writing applications. Open Cobalt applications are built by defining application objects with specific behavior. The Squeak implementation of Smalltalk provides a single environment in which applications are developed and used. There is no separate "run-time" environment and all programming tools are available at all times - even while the application is running. Changes to the code can be made dynamically, without the need to restart the application and recreate the application state.

Squeak Files

Squeak consists primarily of four files:

(1) The source code for everything, which is the same for all platforms, and which is examined (and even changed) using Squeak itself, (2) A small, fast, virtual machine that executes compiled Squeak code (note that there is a different virtual machine executable for each type of computer that Squeak runs on), (3) a .image file, and (4) a .changes file, which provide the complete state of Squeak and all object definitions. Since Squeak object memory is identical on every platform, the .image and .changes files are likewise identical across all platforms.

This version of Cobalt uses Croquet's Morphic window system, and runs as a single Morphic window within Squeak. Please note that because Morphic is not designed to be a collaborative framework, you shouldn't depend on it in your development process as it will be replaced by Tweak in future releases.

Learning Squeak

We recommend working through the first half of "Squeak By Example" which is available for free download at http://www.squeakbyexample.org/ . Once you've worked through the first several chapters and become familiar enough with the Squeak programming environment, then you can begin on a relatively straightforward task of setting up or modifying some user interface elements in Cobalt. Then you can expand your efforts to address more complex concerns.

There are also a number of additional resources that can help you get going. These include http://squeak.org and the book Squeak: Object-Oriented Design with Multimedia Applications by Mark Guzdial, Prentice-Hall, 2000. Resources for learning OpenGL include the OpenGL Programming Guide by Mason Woo, Jackie Neider, Tom Davis, and Dave Shreiner, Third Edition. Addison-Wesley. 1999 and OpenGL Game Programming by Kevin Hawkins and Dave Astle, Prima Publishing, 2001.

General page of free smalltalk and object-oriented programming books is available at: http://stephane.ducasse.free.fr/FreeBooks.html

General Smalltalk resource page at: http://www.whoishostingthis.com/resources/smalltalk/