Self (programming language): Difference between revisions

Content deleted Content added
Basic syntax: conventional linewrap the examples for readability
m Disambiguating links to Hotspot (link changed to HotSpot (virtual machine)) using DisamAssist.
Line 20:
'''Self''' is an [[object-oriented 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)|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.<ref>{{cite journal|last1=Wolczko|first1=Mario|title=self includes: Smalltalk|journal=Workshop on Prototype-Based Languages, ECOOP ‘96, Linz, Austria|date=1996}}</ref>