HOME

TheInfoList



OR:

Squeak is an
object-oriented Object-oriented programming (OOP) is a programming paradigm based on the concept of '' objects''. Objects can contain data (called fields, attributes or properties) and have actions they can perform (called procedures or methods and impleme ...
,
class-based Class-based programming, or more commonly class-orientation, is a style of object-oriented programming (OOP) in which inheritance occurs via defining ''classes'' of objects, instead of inheritance occurring via the objects alone (compare prototyp ...
, and
reflective Reflection is the change in direction of a wavefront at an interface between two different media so that the wavefront returns into the medium from which it originated. Common examples include the reflection of light, sound and water waves. The ...
programming language A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
. It was derived from
Smalltalk 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 Learni ...
-80 by a group that included some of Smalltalk-80's original developers, initially at
Apple Computer Apple Inc. is an American multinational corporation and technology company headquartered in Cupertino, California, in Silicon Valley. It is best known for its consumer electronics, software, and services. Founded in 1976 as Apple Computer Co ...
, then at
Walt Disney Imagineering Walt Disney Imagineering Research & Development, Inc.—commonly referred to as Walt Disney Imagineering, Imagineering, or WDI—is the research and development arm of The Walt Disney Company, responsible for the creation, design, and construc ...
, where it was intended for use in internal Disney projects. The group later was supported by
HP Labs HP Labs is the exploratory and advanced research group for HP Inc. HP Labs' headquarters is in Palo Alto, California and the group has research and development facilities in Bristol, UK. The development of programmable desktop calculators, ink ...
, SAP, and most recently,
Y Combinator Y Combinator, LLC (YC) is an American technology startup accelerator and venture capital firm launched in March 2005 which has been used to launch more than 5,000 companies. The accelerator program started in Boston and Mountain View, Californi ...
. Squeak runs on a stack virtual machine (VM), allowing for a high degree of portability. The Squeak system includes code for generating a new version of the VM on which it runs, along with a VM simulator written in Squeak.


Developers

Dan Ingalls Daniel Henry Holmes Ingalls Jr. (born 1944) is a pioneer of object-oriented computer programming and the principal architect, designer and implementer of five generations of Smalltalk environments. He designed the bytecoded virtual machine that m ...
, an important contributor to the Squeak project, wrote the paper upon which Squeak is built, and constructed the architecture for five generations of the Smalltalk language.
Alan Kay Alan Curtis Kay (born May 17, 1940) published by the Association for Computing Machinery 2012 is an American computer scientist who pioneered work on object-oriented programming and windowing graphical user interface (GUI) design. At Xerox ...
is an important contributor to the Squeak project, and Squeak incorporates many elements of his proposed
Dynabook The KiddiComp concept, envisioned by Alan Kay in 1968 while a PhD candidate, and later developed and described as the Dynabook in his 1972 proposal "A personal computer for children of all ages", outlines the requirements for a conceptual porta ...
concept.


User interface frameworks

Squeak includes four
user interface In the industrial design field of human–computer interaction, a user interface (UI) is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine fro ...
frameworks: * An implementation of Morphic,
Self In philosophy, the self is an individual's own being, knowledge, and values, and the relationship between these attributes. The first-person perspective distinguishes selfhood from personal identity. Whereas "identity" is (literally) same ...
's graphical direct manipulation interface framework. This is Squeak's main interface. * Tile-based, limited
visual programming In computing, a visual programming language (visual programming system, VPL, or, VPS), also known as diagrammatic programming, graphical programming or block coding, is a programming language that lets users create programs by manipulating prog ...
scripting in Etoys, based on Morphic. * A novel, experimental interface called Tweak. In 2001 it became clear that the Etoy architecture in Squeak had reached its limits in what the Morphic interface infrastructure could do. Hewlett-Packard researcher Andreas Raab proposed defining a "script process" and providing a default scheduling-mechanism that avoids several more general problems. This resulted in a new user interface, proposed to replace the Squeak Morphic user interface in the future. Tweak added mechanisms of islands, asynchronous messaging, players and costumes, language extensions, projects, and tile scripting. Its underlying object system is class-based, but to users, during programming (scripting), it acts like it is prototype-based. Tweak objects are created and run in Tweak project windows. * A
model–view–controller Model–view–controller (MVC) is a software architectural pattern commonly used for developing user interfaces that divides the related program logic into three interconnected elements. These elements are: * the model, the internal representat ...
(MVC) interface was the primary UI in Squeak versions 3.8 and earlier. It derived from the original Smalltalk-80 user interface framework which first introduced and popularized the MVC architectural pattern. MVC takes its name from the three core classes of the framework. Thus, the term "MVC" in the context of Squeak refers to both one of the available user interface frameworks and the pattern the framework follows. MVC is still provided for those wishing to use this older type of interface.


Uses

Many Squeak contributors collaborate on
Open Cobalt Open Cobalt is a free and open-source software platform for constructing, accessing, and sharing virtual worlds both on local area networks or across the Internet, with no need for centralized servers. The technology makes it easy to create deepl ...
, a free and
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
virtual world A virtual world (also called a virtual space or spaces) is a Computer simulation, computer-simulated environment which may be populated by many simultaneous users who can create a personal Avatar (computing), avatar and independently explore th ...
browser and construction toolkit built on Squeak. The first version of Scratch was implemented in Squeak. OpenQwaq, a virtual conferencing and collaboration system, is based on Squeak. Squeak is also used in the Nintendo ES operating system.


License

Squeak 4.0 and later may be downloaded at no cost, including source code, as a prebuilt
virtual machine In computing, a virtual machine (VM) is the virtualization or emulator, emulation of a computer system. Virtual machines are based on computer architectures and provide the functionality of a physical computer. Their implementations may involve ...
image licensed under the
MIT License The MIT License is a permissive software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts very few restrictions on reuse and therefore has high license compatibility. Unl ...
, with the exception of some of the original Apple code, which is governed by the
Apache License The Apache License is a permissive free software license written by the Apache Software Foundation (ASF). It allows users to use the software for any purpose, to distribute it, to modify it, and to distribute modified versions of the software ...
. Squeak was originally released by Apple under its own ''Squeak License''. While source code was available and modification permitted, the Squeak License contained an
indemnity In contract law, an indemnity is a contractual obligation of one party (the ''indemnitor'') to compensate the loss incurred by another party (the ''indemnitee'') due to the relevant acts of the indemnitor or any other party. The duty to indemni ...
clause that prevented it from qualifying as true
free and open-source software Free and open-source software (FOSS) is software available under a license that grants users the right to use, modify, and distribute the software modified or not to everyone free of charge. FOSS is an inclusive umbrella term encompassing free ...
. In 2006, Apple relicensed Squeak twice. First, in May, Apple used its own
Apple Public Source License The Apple Public Source License (APSL) is the open-source and free software license under which Apple's Darwin operating system was released in 2000. A free and open-source software license was voluntarily adopted to further involve the commu ...
, which satisfies the
Free Software Foundation The Free Software Foundation (FSF) is a 501(c)(3) non-profit organization founded by Richard Stallman on October 4, 1985. The organisation supports the free software movement, with the organization's preference for software being distributed ...
's concept of a Free Software License and has attained official approval from the
Open Source Initiative The Open Source Initiative (OSI) is a California public benefit corporation "actively involved in Open Source community-building, education, and public advocacy to promote awareness and the importance of non-proprietary software". Governance The ...
as an Open Source License. However, The Apple Public Source License fails to conform to the
Debian Free Software Guidelines ''The Open Source Definition'' (OSD) is a policy document published by the Open Source Initiative. Derived from the Debian Free Software Guidelines written by Bruce Perens, the definition is the most common standard for open-source software. ...
. To enable inclusion of Etoys in the One Laptop Per Child project, a second relicensing was undertaken using the Apache License. At this point, an effort was also made to address the issue of code contributed by members of the Squeak community, which it was not in Apple's power to unilaterally relicense. For each contribution made under the Squeak License since 1996, a relicensing statement was obtained authorizing distribution under the
MIT license The MIT License is a permissive software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts very few restrictions on reuse and therefore has high license compatibility. Unl ...
, and finally in March 2010, the result was released as Squeak 4.0, now under combined MIT and Apache licenses.


See also

* Alice (software) *
Croquet Project The Croquet Project is a software project that was intended to promote the continued development of the Croquet open-source software, open-source software development kit to create and deliver collaborative multi-user online application software ...
*
Pharo Pharo is a Cross-platform software, cross-platform implementation of the classic Smalltalk-80 programming language and runtime system. It is based on the OpenSmalltalk virtual machine (VM) named Cog, which evaluates a dynamic, Reflective progr ...
*
Seaside (software) Seaside, an acronym that stands for “Squeak Enterprise Aubergines Server with Integrated Development Environment,” is computer software, a web framework to develop web applications in the programming language Smalltalk. It is distributed as fr ...


References


External links

* {{Authority control Programming languages Apple Inc. software Class-based programming languages Disney technology Dynamic programming languages Dynamically typed programming languages Educational programming languages Free educational software Programming languages created by women Smalltalk programming language family Software using the MIT license Visual programming languages High-level programming languages Multi-paradigm programming languages Cross-platform free software Programming languages created in 1996 1996 software