Archives for posts with tag: selflanguage

The new Self Linux VM is available for download in binary form from the Self website. For most purposes this will be the easiest way to get Self running on Linux.

Nevertheless, Self is an open source language and so the source for the VM is available.  If you wish to compile Self on Linux, it is quite easy and straightforward.

The binary available on was compiled on Ubuntu 7.04 running in VMWare on a Macbook Pro.  The version of GCC was 4.1.2. Later versions of GCC should work, but will give a lot of warnings (“deprecated conversion from string constant to char*” – just ignore it).

From a clean Ubuntu 7.04, I installed:

  • libc6-dev
  • g++
  • flex-old
  • build-essentials
  • xorg-dev
  • libncurses5-dev

I then got a copy of the source from the Self Github repository:

git clone git://

I then cd into the Self directory and:

cd release
chmod a+x buildLinuxVM

This should build a stripped Linux VM and put it in the top level of your source directory.

One of the first questions I ever asked David Ungar, when I first started to work for him on the Klein project, was, “So, what can we do to make Self more popular?”

He answered, “Why would we want to do that?”

It had never occurred to me before that it might not be a good idea to make myself crazy evangelizing my favourite programming language.

Nevertheless, I am hereby declaring my intention to actually spend some of my time writing about Self and Klein. (Maybe committing to it publicly will help me stick to it.) I’m doing this for two reasons:

  • I’ve spent the past two years working with much less interesting technologies, and if I don’t get back into the Smalltalk/Self world my soul is going to implode.
  • I need to find some articulate defenders of the class-based way of life, because there are some conversations I need to have with them.

I’ll post again soon, but for now I’m wondering: who’s reading this? Mostly Smalltalkers, or do we have visitors from far-away cultures too?

This new group blog has been added to, so welcome to everyone reading it!

For those of you not familiar with Self, it is  a prototype-based dynamic object-oriented programming language in the Smalltalk family with an environment and virtual machine centered around the principles of simplicity, uniformity, concreteness, and liveness.

Self includes a programming language, a collection of objects defined in the Self language, and a programming environment built in Self for writing Self programs. The language and environment attempt to present objects to the programmer and user in as direct and physical a way as possible. The system uses the prototype-based style of object construction.

It is currently being reinvigorated with a new release – including a Linux version – and is Open Source under a BSD-like licence.

This blog has been set up as a central place for information on the development of Self and for discussion of Self matters by the Self and Smalltalk communities, so please join us at or on our mailing list.

Welcome to!

This is the place to keep up to date with Self development, and to learn more about using and developing with Self.

More content will be added soon, in the meantime, why not head over to the main site and download a free copy of Self for your Mac or Linux box…