Self

E131732

Self is a prototype-based, object-oriented programming language that pioneered many concepts later adopted by languages like JavaScript and ECMAScript.

All labels observed (1)

Label Occurrences
Self canonical 2

How this entity was disambiguated

Statements (48)

Predicate Object
instanceOf object-oriented programming language
programming language
prototype-based programming language
category experimental programming language
research programming language
designedBy David Ungar
Randall B. Smith
developedAt Stanford University
Sun Microsystems
surface form: Sun Microsystems Laboratories

Xerox PARC
documentation Self Handbook
executionModel interpreted with optimizing compilation
firstAppeared late 1980s
hasFeature closures
delegation-based inheritance
dynamic typing
first-class objects
graphical programming environment
just-in-time compilation (in later implementations)
lexical scoping
message passing
morphic user interface
prototypes instead of classes
uniform object model
hasImplementation Self VM
Self graphical environment
influenced ECMAScript
Io (programming language)
JavaScript
Lua
surface form: Lua (through prototype ideas)

NewtonScript
Squeak programming system
surface form: Squeak (user interface ideas)
influencedBy Lisp programming language
surface form: Lisp

Smalltalk
license open source
memoryManagement automatic garbage collection
notableConcept everything is an object
incremental, live programming environment
mirrors for reflection
slots as state and behavior holders
worlds for exploratory programming
operatingSystem Unix-like systems
paradigm object-oriented
prototype-based
targetAudience object-oriented programming researchers
researchers in programming languages
typingDiscipline dynamic typing
website http://selflanguage.org/

How these facts were elicited

Referenced by (2)

Full triples — surface form annotated when it differs from this entity's canonical label.

ECMAScript influencedBy Self
Smalltalk influenced Self