Content deleted Content added
m Task 70: Update syntaxhighlight tags - remove use of deprecated <source> tags |
Rescuing 3 sources and tagging 0 as dead.) #IABot (v2.0.1 |
||
Line 18:
}}
'''Self''' is an [[Object-oriented programming|object-oriented]] [[computer programming|programming]] [[programming language|language]] based on the concept of ''[[Prototype-based programming|prototypes]]''. Self began as a dialect of [[Smalltalk]], being [[dynamically typed]] and using [[just-in-time compilation]] (JIT) as well as the prototype-based approach to objects: it was first used as an experimental test system for language design in the 1980s and 1990s. In 2006, Self was still being developed as part of the Klein project, which was a Self virtual machine written fully in Self. The latest version is 2017.1 released in May 2017.<ref>{{cite web|title=Self "Mandarin" 2017.1|url=https://blog.selflanguage.org/2017/05/24/self-mandarin-2017-1/|date=24 May 2017|accessdate=24 May 2017|archive-url=https://web.archive.org/web/20170524053153/https://blog.selflanguage.org/2017/05/24/self-mandarin-2017-1/|archive-date=24 May 2017|url-status=dead}}</ref>
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 (programming language)|Java]]'s [[HotSpot]] [[virtual machine]].
Line 27:
Self was designed mostly by [[David Ungar]] and Randall Smith in 1986 while working at [[PARC (company)|Xerox PARC]]. Their objective was to push forward the state of the art in object-oriented programming language research, once [[Smalltalk|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. At that point, focus changed to attempting to bring up an entire system for Self, as opposed to just 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 the 4.0 version. The 4.3 version was released in 2006 and ran on [[macOS|Mac OS X]] and [[Solaris (operating system)|Solaris]]. A new release in 2010<ref>{{cite web|title=Self 4.4 released|url=https://blog.selflanguage.org/2010/07/16/self-4-4-released/|date=16 July 2010|accessdate=24 May 2017|archive-url=https://web.archive.org/web/20171205194557/https://blog.selflanguage.org/2010/07/16/self-4-4-released/|archive-date=5 December 2017|url-status=dead}}</ref>, version 4.4, has been developed by a group comprising some of the original team and independent programmers and is available for Mac OS X and [[Linux]], as are all following versions. The follow-up 4.5 was released in January 2014<ref>{{cite web|title=Self Mallard (4.5.0) released|url=http://blog.selflanguage.org/2014/01/12/self-mallard-4-5-0-released/|date=12 January 2014|accessdate=24 May 2017|archive-url=https://web.archive.org/web/20171206074534/https://blog.selflanguage.org/2014/01/12/self-mallard-4-5-0-released/|archive-date=6 December 2017|url-status=dead}}</ref>, and three years later, version 2017.1 was released in May 2017.
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 programming language|Io]], [[Lisaac]] and [[Agora programming language|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.
|