Lably
Skip to content

Self (programming language)

Prototype-based programming language

  • 13 min read
  • 4 chapters

Related on Lably

Through High-level programming language, Object-oriented programming and Java (programming language)

Several just-in-time compilation techniques were pioneered and improved in Self research as they were required to allow a very high-level object-oriented language to perform at up to half the speed of optimized C. Much of the development of Self took place at Sun Microsystems, and the techniques they developed were later deployed for Java's HotSpot virtual machine.

At one point a version of Smalltalk was implemented in Self. Because it was able to use the JIT, this also gave extremely good performance.

History

Self was designed mostly by David Ungar and Randall Smith in 1986 while working at Xerox PARC. Their objective was to advance the state of the art in object-oriented programming language research, once Smalltalk-80 was released by the labs and began to be taken seriously by the industry. They moved to Stanford University and continued work on the language, building the first working Self compiler in 1987. Then, focus changed to working to build a full system for Self, in contrast to only the language.

The first public release was in 1990, and the next year the team moved to Sun Microsystems where they continued work on the language. Several new releases followed until falling largely dormant in 1995 with version 4.0. In 2006, version 4.3 was released, for Mac OS X and Solaris. in 2010, a new release, version 4.4, was developed by a group comprising some of the original team and independent programmers, for Mac OS X and Linux, as are all later versions. In January 2014, a follow-up, 4.5 was released, and three years later, version 2017.1 was released in May 2017.

The Morphic user interface construction environment was originally developed by Randy Smith and John Maloney for the Self programming language. Morphic has been ported to other notable programming languages including Squeak, JavaScript, Python, and Objective-C.

Self also inspired a number of languages based on its concepts. Most notable, perhaps, were NewtonScript for the Apple Newton and JavaScript used in all modern browsers. Other examples include Io, Lisaac and Agora. The IBM Tivoli Framework's distributed object system, developed in 1990, was, at the lowest level, a prototype-based object system inspired by Self.

Sign in to keep reading

3 more chapters are free with a Lably account.

More in Computing and communication