Programming language · 1972
Smalltalk
Programming language.
What is Smalltalk written in?
What Smalltalk is used for
Smalltalk pioneered pure object-oriented programming, the integrated development environment, and the graphical UI. It is still used in some finance and industrial systems, and its ideas shaped Python, Ruby, and Objective-C.
Notable software: trading and logistics systems, and the modern Pharo and Squeak environments.
Quick Facts
- Designed by
- Alan Kay, Adele Goldberg, and PARC
- Developer
- Dan Ingalls
- First released
- 1972
- Typing
- dynamic
- Filename extension
- .st
About Smalltalk
Smalltalk is a programming language. It is a dynamically typed and garbage-collected language that compiles to bytecode that runs on a virtual machine. It supports object-oriented programming. Compiling to bytecode for a virtual machine is the same model the JVM and .NET use: the VM, not the CPU, interprets or JIT-compiles the bytecode.
Smalltalk first appeared in 1972 and was designed by Alan Kay, Adele Goldberg, and PARC at Xerox PARC.
How Smalltalk is implemented
In the Language Lineage dataset, Smalltalk is self-hosting, so its own compiler is written in Smalltalk itself and its runtime is implemented in C. Reaching self-hosting, where a language is mature enough to compile itself, is a milestone that proves the language can handle a large, real-world program.
Smalltalk in the language family tree
Smalltalk drew on ideas from Simula and went on to influence Objective-C, Ruby, Python, Scala, JavaScript, and Go.
Frequently Asked Questions
Evidence Sources
- https://en.wikipedia.org/wiki/Smalltalk
- https://en.wikipedia.org/wiki/Objective-C
- https://en.wikipedia.org/wiki/Ruby_(programming_language)
- https://en.wikipedia.org/wiki/Python_(programming_language)
- https://en.wikipedia.org/wiki/Scala_(programming_language)
- https://auth0.com/blog/a-brief-history-of-javascript/
- https://en.wikipedia.org/wiki/Go_(programming_language)
- https://en.wikipedia.org/wiki/Java_(programming_language)
- https://en.wikipedia.org/wiki/CoffeeScript
- https://en.wikipedia.org/wiki/Pharo
- https://en.wikipedia.org/wiki/Apache_Groovy
- https://en.wikipedia.org/wiki/Squeak
- https://en.wikipedia.org/wiki/Raku_(programming_language)
- https://en.wikipedia.org/wiki/Io_(programming_language)
- https://en.wikipedia.org/wiki/Wren_(programming_language)
- Smalltalk on Wikidata (Q235086)