Self (programming language)

Self (programming language)

Self is an object-oriented programming language based on the concept of 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.

Comment
enSelf is an object-oriented programming language based on the concept of 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.
Depiction
Self-logo.svg
Designer
enDavid Ungar, Randall Smith
Designer
David Ungar
Developer
enDavid Ungar, Randall Smith, Stanford University, Sun Microsystems
Developer
David Ungar
Stanford University
Sun Microsystems
Has abstract
enSelf is an object-oriented programming language based on the concept of 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. 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.
Homepage
www.selflanguage.org
Hypernym
Language
Implementations
enSelf
Influenced
Agora (programming language)
Influenced
Agora (programming language)
Influenced
Factor (programming language)
Influenced
Factor (programming language)
Influenced
Io (programming language)
Influenced
Io (programming language)
Influenced
JavaScript
Influenced
JavaScript
Influenced
Lua (programming language)
Influenced
Lua (programming language)
Influenced
NewtonScript
Influenced
NewtonScript
Influenced
REBOL
Influenced
REBOL
Influenced
Squeak
Influenced
Squeak
InfluencedBy
APL (programming language)
Smalltalk
Influenced by
APL (programming language)
Smalltalk
Is primary topic of
Self (programming language)
Label
enSelf (programming language)
LatestReleaseDate
24 May 2017
Latest release date
24 May 2017
LatestReleaseVersion
enMandarin 2017.1
Latest release version
Mandarin 2017.1
License
enBSD-like license
Link from a Wikipage to an external page
community.schemewiki.org/%3Fprometheus
bibliography.selflanguage.org/
selfguru.sourceforge.net/
www.ag-nbi.de/research/dself/
www.self-support.com/
web.archive.org/web/20020606124955/http:/research.sun.com/self/
web.archive.org/web/20050427111747/http:/www.merlintec.com/lsi/
web.archive.org/web/20060813135539/http:/www.smalltalk.org.br/movies/
web.archive.org/web/20030613141004/http:/gliebe.de/self/index.html
web.archive.org/web/20070503053204/http:/www.cs.ucsb.edu/~urs/oocsb/self/papers/papers.html
blog.rfox.eu/en/Programming/Series_about_Self.html
Link from a Wikipage to another Wikipage
Active window
Agora (programming language)
Agora programming language
APL (programming language)
Apple Newton
C (programming language)
C++
Category:1987 software
Category:Cross-platform free software
Category:Dynamically typed programming languages
Category:Dynamic programming languages
Category:Free compilers and interpreters
Category:Object-oriented programming languages
Category:Programming languages
Category:Programming languages created in 1987
Category:Prototype-based programming languages
Cecil (programming language)
Class (object-oriented programming)
David Ungar
Dynamically typed
Factor (programming language)
File:Self-logo.svg
Fragile base class problem
Fragile binary interface problem
Garbage collection (computer science)
Hello world
HotSpot (virtual machine)
IBM Tivoli Framework
Inheritance (computer science)
Instance variable
Io (programming language)
Io programming language
Java (programming language)
JavaScript
Just-in-time compilation
Lexical scoping
Linux
Lisaac
Lua (programming language)
MacOS
Morphic (software)
Namespace
NewtonScript
Object (computer science)
Objective-C
Object-oriented programming
PARC (company)
Porsche 911
Programming language
Prototype-based programming
Python (programming language)
REBOL
Refactoring
Smalltalk
Solaris (operating system)
Squeak
Standalone program
Stanford University
Strongly-typed programming language
Subclass (set theory)
Sun Microsystems
System image
Tracing garbage collection
Trait (computer programming)
Type system
Virtual machine
Logo
200
Name
enSelf
Name
enSelf
Paradigm
enobject-oriented
SameAs
m.0gd42
nTG1
Q1864529
Self
Self
Self
Self
Self (langage)
Self (lenguaje de programación)
Self (linguagem de programação)
Self (programmeertaal)
Self (Programmiersprache)
Self (programming language)
Self (programovací jazyk)
Self (мова програмування)
سلف (زبان برنامه‌نویسی)
سيلف (لغة برمجة)
셀프 (프로그래밍 언어)
Subject
Category:1987 software
Category:Cross-platform free software
Category:Dynamically typed programming languages
Category:Dynamic programming languages
Category:Free compilers and interpreters
Category:Object-oriented programming languages
Category:Programming languages
Category:Programming languages created in 1987
Category:Prototype-based programming languages
Thumbnail
Self-logo.svg?width=300
Typing
Strongly-typed programming language
Type system
WasDerivedFrom
Self (programming language)?oldid=1118674166&ns=0
WikiPageLength
24029
Wikipage page ID
60265
Wikipage revision ID
1118674166
WikiPageUsesTemplate
Template:Citation
Template:Citation needed
Template:External links
Template:Github
Template:Infobox programming language
Template:Main
Template:Official website
Template:Reflist
Template:Short description
Template:Smalltalk programming language
Template:Start date and age
Template:URL
Template:Vague
Wordnet_type
synset-programming language-noun-1