Squeak

This article is about the Smalltalk dialect. For the concurrent programming languages from Bell Labs, see Newsqueak. For the children's TV show, see Squeak! For the general meaning of the word, see Wiktionary:squeak.
Squeak

Original 1996 logo by Tim Rowledge[1]

Screenshot of a Squeak application running under X11.
Paradigm object-oriented
Designed by Alan Kay, Dan Ingalls, Adele Goldberg
Developers Alan Kay, Dan Ingalls, Ted Kaehler, Scott Wallace, John Maloney, Andreas Raab, Mike Rueger
First appeared 1996 (1996)
Stable release
5.1 / August 23, 2016 (2016-08-23)[2]
Typing discipline Dynamic
Platform Cross-platform
OS Cross-platform: Unix-like, OS X, iOS, Windows, more
License MIT, Apache
Website www.squeak.org
Major implementations
Squeak, Croquet
Dialects
Pharo, Croquet
Influenced by
Smalltalk, Lisp, Logo; Sketchpad, Simula; Self
Influenced
Etoys, Tweak, Croquet, Scratch

The Squeak programming language is a dialect of Smalltalk. It is object-oriented, class-based, and reflective.

It was derived directly from Smalltalk-80 by a group at Apple Computer that included some of the original Smalltalk-80 developers. Its development was continued by the same group at Walt Disney Imagineering, where it was intended for use in internal Disney projects. Later on the group moved on to be supported by HP labs, SAP Labs and most recently Y Combinator.

Squeak is cross-platform. Programs produced on one platform run bit-identical on all other platforms, and versions are available for many platforms including the obvious Windows/macOS/linux versions. The Squeak system includes code for generating a new version of the virtual machine (VM) on which it runs. It also includes a VM simulator written in Squeak. For these reasons, it is easily ported.

Developers

Dan Ingalls, an important contributor to the Squeak project, wrote the paper[3] upon which Squeak is built and constructed the architecture for five generations of the Smalltalk language.

Squeak incorporates many of the elements Alan Kay proposed in the Dynabook concept, which he formulated in the 1960s. Kay is an important contributor to the Squeak project.

User interface frameworks

Squeak includes four user interface frameworks:

Uses

Many Squeak contributors collaborate on Open Cobalt, a free and open source virtual world browser and construction toolkit application which is built on Squeak.

Squeak is also used in the Nintendo ES operating system[7] and for implementing the Scratch programming language for beginning programmers. In May 2011 the OpenQwaq virtual conferencing and collaboration system based on Squeak, an open source release of Teleplace, was announced on the Teleplace blog.[8]

License

Squeak 4.0 and later may be downloaded at no cost, including source code, as a prebuilt virtual machine image licensed under the MIT License, with the exception of some of the original Apple code, which is governed by the Apache License.

Originally, Apple actually released Squeak under a license called the Squeak License. While source code was available and modification permitted, the Squeak License contained an indemnity clause that prevented it from qualifying as true free and open-source software.

In 2006, Apple relicensed Squeak twice. First, in May, Apple used its own Apple Public Source License, which satisfies the Free Software Foundation's concept of a Free Software License[9] and has attained official approval from the Open Source Initiative[10] as an Open Source License. The Apple Public Source License, as it turns out, fails to pass the third standard that Free and Open Source Software licenses are held to: the Debian Free Software Guidelines promulgated by the Debian project, an influential volunteer-run Linux distribution. 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, and finally in March 2010, the end result was released as Squeak 4.0, now under combined MIT and Apache licenses.[11]

Squeak virtual machine

The Squeak virtual machine is a family of virtual machines (VMs) used in Smalltalk programming language implementations. They are an essential part of any Smalltalk implementation. All are open-source software. The current VM is a high performance dynamic translation system. The relevant code is maintained on GitHub at OpenSmalltalk

See also

References

  1. "Tim: Squeak Smalltalk". Retrieved 2016-02-28.
  2. "5.1 Release Notes".
  3. Ingalls, Dan; Kaehler, Ted; Maloney, John; Wallace, Scott; Kay, Alan (1997). "Back to the Future: the story of Squeak, a practical Smalltalk written in itself". ACM Digital Library. Retrieved 2011-06-12.
  4. "Tweak: OriginalTweakMemo". Tweakproject.org. 2001-07-06. Retrieved 2011-06-12.
  5. "Tweak: Whitepapers". Tweakproject.org. Retrieved 2011-06-12.
  6. Burbeck, Steve (1997-04-04). "How to use Model-View-Controller (MVC)". St-www.cs.uiuc.edu. Retrieved 2011-06-12.
  7. "Inside Nintendo's ES Open-Source Operating System". Gamasutra. 2007-12-04. Retrieved 2007-12-05.
  8. "Moving Immersive Collaboration Forward".
  9. "FSF's Opinion on the Apple Public Source License (APSL) 2.0". Gnu.org. 2011-05-07. Retrieved 2011-06-12.
  10. "Clarification of the APSL: Press Releases OS Clarifies The Status Of The APSL". Opensource.org. 1999-03-17. Retrieved 2011-06-12.
  11. "Squeak 4.0 released - now under MIT/Apache license". The H Open. 2010-03-16. Retrieved 2011-06-12.
Wikimedia Commons has media related to Squeak.
This article is issued from Wikipedia - version of the 12/3/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.