Generated by DeepSeek V3.2| Squeak | |
|---|---|
| Name | Squeak |
| Paradigm | Object-oriented, class-based, reflective |
| Designer | Alan Kay, Dan Ingalls, Adele Goldberg, and others at Apple Computer |
| Latest release version | 6.0 |
| Latest release date | 2021 |
| Influenced by | Smalltalk-80, Lisp |
| Influenced | Pharo, Croquet Project, Etoys, Scratch |
| Operating system | Cross-platform |
| License | MIT License |
| Website | https://squeak.org/ |
Squeak. Squeak is a modern, open-source implementation of the Smalltalk-80 programming language and environment. It is a dynamically typed, pure object-oriented system known for its portability, extensive multimedia capabilities, and reflective design. The system includes its own integrated development environment, virtual machine, and a large library of reusable code, fostering a highly interactive and exploratory style of programming.
Squeak is a direct descendant of the pioneering work done at the Xerox PARC research center, embodying the vision of personal computing championed by Alan Kay. It serves as a complete software ecosystem where the programming language, development tools, and user interface are all constructed from a consistent set of objects. This design enables powerful features like live coding and on-the-fly modification of the system itself. The platform is renowned for its "everything is an object" philosophy and its efficient bytecode interpreter, which is itself written in a subset of Squeak known as Slang.
The project was initiated in 1996 at Apple Computer's Advanced Technology Group by key figures from the original Smalltalk team, including Dan Ingalls and Adele Goldberg. Its creation was motivated by a desire to create a more portable and freely available system than the commercial Smalltalk-80 implementation. After moving with its creators to Disney, the project was released as open source in 1996 under a license that later evolved into the MIT License. A pivotal fork of the system led to the creation of the Croquet Project, a collaborative 3D environment, and later, the Pharo project, which focuses on a clean, modern fork for professional use.
At its core, Squeak executes on a virtual machine (VM) that is highly portable, having been implemented on architectures ranging from ARM to x86. The VM is primarily written in Slang, which translates to C for compilation. The system features a novel bit blit algorithm for fast graphics and supports advanced multimedia through its Morphic user interface framework. Key technical innovations include the Pluggable Primitive mechanism, the Balloon persistence system, and the Etoys visual scripting environment, which heavily influenced the development of Scratch at the MIT Media Lab.
The integrated environment is a live, self-contained world where developers can inspect and modify all running objects. Tools include a sophisticated class browser, a powerful debugger, and an object inspector. Code is managed in parcels and packages, with versioning supported through Monticello. The environment's look and feel is provided by the Morphic framework, which allows for direct manipulation of graphical objects. Many developers also utilize Git for source code management, integrating it with the native tools.
Beyond research and education, Squeak has been the foundation for several significant projects. It powered the One Laptop per Child project's Sugar learning platform and the Etoys environment. The Croquet Project used it to build open-source, collaborative virtual reality spaces. It has been used for simulations in fields like computational neuroscience and for prototyping user interfaces. Companies like Google and Yahoo! have historically used it for internal research and rapid prototyping of ideas.
Development is overseen by the non-profit Squeak Foundation, with contributions from a global community of academics, professionals, and hobbyists. Major development discussions occur on mailing lists and are coordinated through the OpenHub platform. The community organizes events like the European Smalltalk Users Group (ESUG) conference and the annual Smalltalk Conference. Collaborative development is facilitated through tools like Metacello for loading configurations, and the community maintains ports for numerous platforms including Linux, Windows, and macOS.
Category:Free software programmed in Smalltalk Category:Object-oriented programming languages Category:Smalltalk programming language family