Smalltalk

Smalltalk
ParadigmObject-oriented
Designed byAdele Goldberg, Dan Ingalls, Alan Kay
DeveloperPeter Deutsch, Adele Goldberg, Dan Ingalls, Ted Kaehler, Alan Kay, Diana Merry, Scott Wallace and Xerox PARC
First appeared1972; 52 years ago (1972) (development begun 1969)
Stable release
Smalltalk-80 version 2 / 1980; 44 years ago (1980)
Typing disciplineobjects, but in some implementations, strong or dynamic
ScopeLexical (static)
Implementation languageSmalltalk
PlatformXerox Alto (74181)[1][2]
OSCross-platform (multi-platform)
Major implementations
Amber, Dolphin Smalltalk, GemStone/S, GNU Smalltalk, Pharo, Smalltalk/X, Squeak, Cuis Smalltalk, VA Smalltalk, VisualWorks
Influenced by
Lisp,[3] Simula,[3] Euler,[3] IMP,[3] Planner,[3] Logo,[4] Sketchpad,[3] ARPAnet,[3] Burroughs B5000[3]
Influenced
AppleScript, Common Lisp Object System, Dart, Dylan, Erlang, Etoys, Go, Groovy, Io, Ioke, Java, Lasso, Logtalk, Newspeak, NewtonScript, Object REXX, Objective-C, PHP 5, Python, Raku, Ruby, Scala, Scratch, Self, Swift

Smalltalk is a purely object oriented programming language (OOP) that was originally created in the 1970s for educational use, specifically for constructionist learning, but later found use in business. It was created at Xerox PARC by Learning Research Group (LRG) scientists, including Alan Kay, Dan Ingalls, Adele Goldberg, Ted Kaehler, Diana Merry, and Scott Wallace.

In Smalltalk, executing programs are built of opaque, atomic, so-called objects, which are instances of template code stored in classes. These objects intercommunicate by passing of messages, via an intermediary virtual machine environment (VM). A relatively small number of objects, called primitives, are not amenable to live redefinition, sometimes being defined independently of the Smalltalk programming environment.

Having undergone significant industry development toward other uses, including business and database functions, Smalltalk is still in use today. When first publicly released, Smalltalk-80 presented numerous foundational ideas for the nascent field of object-oriented programming (OOP).

Since inception, the language provided interactive programming via an integrated development environment. This requires reflection and late binding in the language execution of code. Later development has led to at least one instance of Smalltalk execution environment which lacks such an integrated graphical user interface or front-end.

Smalltalk-like languages are in active development and have gathered communities of users around them. American National Standards Institute (ANSI) Smalltalk was ratified in 1998 and represents the standard version of Smalltalk.[5]

Smalltalk took second place for "most loved programming language" in the Stack Overflow Developer Survey in 2017,[6] but it was not among the 26 most loved programming languages of the 2018 survey.[7]

  1. ^ "Alto I Schematics" (PDF). Bitsavers. p. 54. Retrieved 21 July 2016.
  2. ^ "History of Computers and Computing, Birth of the modern computer, Personal computer, Xerox Alto". Retrieved 2016-04-19.
  3. ^ a b c d e f g h Kay, Alan; Ram, Stefan (2003-07-23). "E-Mail of 2003-07-23". Dr. Alan Kay on the Meaning of 'Object-Oriented Programming'. Retrieved 2009-01-03.
  4. ^ Cite error: The named reference History was invoked but never defined (see the help page).
  5. ^ "ANSI Smalltalk Standard". Smalltalk.org. 2004. Archived from the original on 2006-02-16. Retrieved 2021-03-02.
  6. ^ "Stack Overflow Developer Survey 2017".
  7. ^ "Stack Overflow Developer Survey 2018".