Self 4.5 Mallard Released
Written by Ian Elliot   
Friday, 24 January 2014

If you haven't heard of Self you are missing out on one of the most influential of languages. So far never a star in its own right, this simple approach to objects gave rise to JavaScript and an improved Java JVM.




Self isn't a language that is in the mainstream, but it is worth knowing about and exploring, at least a little, because it provides a view of another way of doing things. It is also worth noting Self's motto - the power of simplicity.

The language derives from the Smalltalk approach to objects, but using prototypes rather than classes. If you know JavaScript you will already know what prototypes are all about.

In Self you create objects directly by defining a collection of slots - methods that return values - again similar to a JavaScript literal object. There is no class in Self and no inheritance, but objects can delegate a method to a parent object and this is the essence of the prototype approach. 

The other big difference between Self and other languages is that it makes use of a persistent approach to building a program. That is, a program isn't just its source code but its entire memory environment, including any objects that have been created at an earlier time. This is an approach to programming that had almost died out bu is now making a small recovery in the form of the many REPL user interfaces to languages such as Python. 

As the language is also dynamic it needs some clever methods to make it work fast and this is why Just-In-Time compilation was pioneered in the language. Many of these ideas ended up in Java's HotSpot VM and influenced other JIT compilers. 




The new version, 4.5.0, codenamed Mallard, has a new build system and a revamped "standard world". The standard world is Self's IDE and initial environment all written in Self. The documentation has also been updated.  The VM can now be built on GCC and CLang for both OSX and Linux. 

You can obtain the source code from the GitHub repository and there are binaries for both OSX and Linux. The code is issued under a BSD-like licence.


Email Editor or use the comments if you think a "Getting Started With Self" or "A Programmers Guide To Self" is a good idea.

Please retweet, G+ or Like - Self deserves to be better known.



More Information

Self Website

Self Blog

Related Articles

Dart 1.1 Released

Rust Reaches 0.9

Wolfram Language The Key To The Future?

Ceylon 1.0 and Ceylon IDE 1.0 Released in Beta

IPython 1.0 Released


To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, FacebookGoogle+ or Linkedin,  or sign up for our weekly newsletter.






or email your comment to:



Code.Org Distributing $1 Million In CS Leaders Prizes

This year's Hour of Code will take place as usual during December's Computer Science Education Week. Meanwhile there's a deadline of November 21st for applying for a CS Leaders Prize of $10,000 to&nbs [ ... ]

Why Six Degrees Of Separation?

It is a remarkable fact that in a social network there are usually only six people linking any two members - this is often called the "small world effect" because picking any two people in the world a [ ... ]

More News

Last Updated ( Friday, 24 January 2014 )