Generated by GPT-5-mini| Smalltalk | |
|---|---|
| Name | Smalltalk |
| Paradigm | Object-oriented, dynamic, reflective |
| Designer | Alan Kay, Dan Ingalls, Adele Goldberg, Ted Kaehler |
| Developer | Xerox PARC, ParcPlace Systems, Cincom, Squeakland |
| First appeared | 1972 |
| Typing | Dynamic, Duck typing |
| License | Various (proprietary, open source) |
| Influenced | Objective-C, Ruby, Python, Java, Self, Lua, Pharo, Squeak |
Smalltalk is an influential object-oriented programming language and environment developed in the 1970s that pioneered many concepts in software design, human–computer interaction, and programming tool integration. Originating at Xerox PARC under the leadership of influential researchers,Smalltalk combined a uniform object model, interactive development, and graphical user interface elements that shaped later systems from Apple Computer to Sun Microsystems. Its design principles fueled innovation across programming languages, integrated development environments, and research projects at institutions like MIT and companies such as Adobe Systems and IBM.
Smalltalk emerged at Xerox PARC in the early 1970s as part of research led by Alan Kay, Dan Ingalls, Adele Goldberg, and Ted Kaehler, building on concepts from LISP research at MIT and demonstrations like the Dynabook vision. Early prototypes such as Smalltalk-72 and Smalltalk-76 evolved into Smalltalk-80, which was publicly described in influential papers and the canonical book by Goldberg and Kay. The language spread through implementations by companies like ParcPlace Systems and Cincom Systems, and through educational and open projects at Apple and PARC Research. Court cases, commercial licensing, and academic dissemination during the 1980s and 1990s involved organizations such as Digitalk, Squeakland, and Xerox, affecting availability and leading to multiple dialects.
Research groups at University of Illinois at Urbana–Champaign, University of California, Berkeley, and University of Cambridge experimented with variants and tools; projects like Squeak, Pharo, and VisualWorks continued the lineage into the 21st century. The language’s history intersects with milestones at Apple Computer (GUI development), Microsoft Research (language runtime studies), and Sun Microsystems (virtual machine research), shaping modern object-oriented ecosystems.
Smalltalk’s core design emphasizes a pure object model in which virtually every entity is an object, influenced by work from LISP and researchers at Xerox PARC. Messages are the primary interaction mechanism, with dynamic dispatch and late binding reminiscent of ideas explored at Stanford University and Carnegie Mellon University. The image-based persistence model stores the entire system state in a single image file, an approach that researchers at MIT and Brown University compared to file-system and bytecode models popularized later by Sun Microsystems.
The language supports live coding, reflection, and metaprogramming features that inspired projects at University of Illinois and influenced the design of languages such as Objective-C at NeXT, Ruby by Yukihiro Matsumoto, and dynamic aspects of Python by Guido van Rossum at CNRI. The integrated GUI toolset introduced windowing and direct manipulation techniques later used by Apple Computer and projects at Xerox. Smalltalk’s class library conventions, collection protocols, and block closures influenced frameworks developed at IBM and Oracle.
Multiple implementations and dialects arose, each fostering different communities and commercial models. Notable dialects include VisualWorks by Cincom Systems, Squeak initiated by researchers from Apple and Disney and led by Dan Ingalls, Pharo originating from the Squeak community with contributors from INRIA and ESUG, and GNU Smalltalk led by FSF-aligned developers. Other commercial or academic variants include Dolphin Smalltalk (Europe), VA Smalltalk (by Instantiations), and Amber influenced by web-centric research groups.
Implementations vary by VM strategy, image format, and JIT or bytecode compilation techniques researched at University of Cambridge and ETH Zurich. Projects such as Newspeak by Gilad Bracha and work at Google on managed runtimes drew on implementation lessons from Smalltalk virtual machines at PARC and Apple.
Smalltalk environments are notable for their integrated development tools: class browsers, inspectors, debuggers, object browsers, and workspaces, many pioneered at Xerox PARC and refined by Digitalk and ParcPlace Systems. Tools support live object inspection and on-the-fly modification, enabling styles of exploratory programming also advocated by researchers at MIT Media Lab and Stanford University.
Versioning systems and collaborative tools such as Monticello in the Pharo community reflect distributed configuration ideas from CMU and INRIA. Graphics frameworks, GUI builders, and multimodal toolkits in Squeak and Pharo have been used in educational projects at University of California, Berkeley and Open University, while IDE integrations and bridges have connected Smalltalk VMs to platforms like Java Virtual Machine-based toolchains and web platforms influenced by Mozilla and Google technologies.
Smalltalk’s influence permeates programming language design, IDE development, and human–computer interaction research. Its object model and message-passing semantics informed Objective-C at NeXT, Java at Sun Microsystems in aspects of APIs and library design, and the reflective features inspired Self developed at Stanford University. The graphical, image-based environment influenced GUI work at Apple Computer, educational computing initiatives at MIT Media Lab and Sugar Labs, and informed research in live programming at Microsoft Research.
The language’s communities—academic, commercial, and hobbyist—have sustained dialects such as Squeak and Pharo through conferences and organizations like ESUG and the Smalltalk Industry Council, while its ideas continue to appear in modern languages, virtual machines, and development tools at institutions like Google, Facebook, and IBM. Smalltalk remains a touchstone in computer science curricula at universities including University of Cambridge and Imperial College London for teaching object orientation, dynamic systems, and interactive development.