Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Smalltalk
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Object-oriented programming language}} {{About|the programming language||Small talk (disambiguation)}} {{Infobox programming language | name = Smalltalk | logo = Smalltalk Balloon.svg | logo size = 150px | logo caption = | paradigm = [[Object-oriented programming|Object-oriented]] | designer = [[Adele Goldberg (computer scientist)|Adele Goldberg]], [[Dan Ingalls]], [[Alan Kay]] | developer = [[L. Peter Deutsch|Peter Deutsch]], Adele Goldberg, Dan Ingalls, [[Ted Kaehler]], Alan Kay, [[Diana Merry]], Scott Wallace and [[PARC (company)|Xerox PARC]] | released = {{Start date and age|1972}} (development begun 1969){{Citation needed|date=December 2024}} | latest release version = Smalltalk-80 version 2 | latest release date = {{Start date and age|1980}} | typing = [[Object (computer science)|objects]], but in some implementations, [[Strong and weak typing|strong]] or [[dynamic typing|dynamic]] | scope = [[Scope (computer science)|Lexical]] (static) | programming language = Smalltalk | platform = [[Xerox Alto]] ([[74181]])<ref>{{cite web |title=Alto I Schematics |url=http://bitsavers.org/pdf/xerox/alto/schematics/AltoI_Schematics.pdf |website=Bitsavers |access-date=21 July 2016 |page=54}}</ref><ref name=alto>{{cite web |title=History of Computers and Computing, Birth of the modern computer, Personal computer, Xerox Alto |access-date=2016-04-19 |url=http://history-computer.com/ModernComputer/Personal/Alto.html}}</ref> | implementations = [[Amber Smalltalk|Amber]], [[Dolphin Smalltalk]], [[Gemstone (database)|GemStone/S]], [[GNU Smalltalk]], [[Pharo]], Smalltalk/X, [[Squeak]], [[Cuis Smalltalk]], [[IBM VisualAge|VA Smalltalk]], [[VisualWorks]] | dialects = | influenced by = [[Lisp (programming language)|Lisp]],<ref name="kay2003">{{cite web|url=http://www.purl.org/stefan_ram/pub/doc_kay_oop_en|title=E-Mail of 2003-07-23|last1=Kay|first1=Alan|last2=Ram|first2=Stefan|date=2003-07-23|work=Dr. Alan Kay on the Meaning of 'Object-Oriented Programming'|access-date=2009-01-03}}</ref> [[Simula]],<ref name="kay2003"/> [[Euler (programming language)|Euler]],<ref name="kay2003"/> [[IMP (programming language)|IMP]],<ref name="kay2003"/> [[Planner (programming language)|Planner]],<ref name="kay2003"/> [[Logo (programming language)|Logo]],<ref name="History"/> [[Sketchpad]],<ref name="kay2003"/> [[ARPAnet]],<ref name="kay2003"/> [[Burroughs B5000]]<ref name="kay2003"/> | influenced = [[AppleScript]], [[Common Lisp Object System]], [[Dart (programming language)|Dart]], [[Dylan (programming language)|Dylan]], [[Erlang (programming language)|Erlang]], [[Etoys (programming language)|Etoys]], [[Go (programming language)|Go]], [[Groovy (programming language)|Groovy]], [[Io (programming language)|Io]], [[Ioke (programming language)|Ioke]], [[Java (programming language)|Java]], [[Lasso (programming language)|Lasso]], [[Logtalk]], [[Newspeak (programming language)|Newspeak]], [[NewtonScript]], [[Object REXX]], [[Objective-C]], [[PHP]] 5, [[Python (programming language)|Python]], [[Raku (programming language)|Raku]], [[Ruby (programming language)|Ruby]], [[Scala (programming language)|Scala]], [[Scratch (programming language)|Scratch]], [[Self (programming language)|Self]], [[Swift (programming language)|Swift]] | operating system = [[Cross-platform]] (multi-platform) | wikibooks = Smalltalk | website = hide }} '''Smalltalk''' is a purely [[object oriented programming|object oriented]] [[programming language]] (OOP) that was originally created in the [[1970s in science and technology|1970s]] for [[education]]al use, specifically for [[constructionist learning]], but later found use in business. It was created at [[PARC (company)|Xerox PARC]] by Learning Research Group (LRG) scientists, including [[Alan Kay]], [[Dan Ingalls]], [[Adele Goldberg (computer scientist)|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 [[Industrial sector|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 [[Integrated development environment|development environment]]. This requires [[Reflective programming|reflection]] and [[late binding]] in the language [[executable|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.<ref>{{cite web |url=http://www.smalltalk.org/versions/ANSIStandardSmalltalk.html |title=ANSI Smalltalk Standard |date=2004 |publisher=Smalltalk.org |archive-url=https://web.archive.org/web/20060216073334/http://www.smalltalk.org/versions/ANSIStandardSmalltalk.html |archive-date=2006-02-16 |access-date=2021-03-02}}</ref> Smalltalk took second place for "most loved programming language" in the [[Stack Overflow]] Developer Survey in 2017,<ref>{{cite web |url=https://insights.stackoverflow.com/survey/2017#technology-most-loved-dreaded-and-wanted-languages |title=Stack Overflow Developer Survey 2017}}</ref> but it was not among the 26 most loved programming languages of the 2018 survey.<ref>{{cite web |url=https://insights.stackoverflow.com/survey/2018#technology-most-loved-dreaded-and-wanted-languages |title=Stack Overflow Developer Survey 2018}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)