World Library  
Flag as Inappropriate
Email this Article

Squeak Smalltalk

Article Id: WHEBN0000960336
Reproduction Date:

Title: Squeak Smalltalk  
Author: World Heritage Encyclopedia
Language: English
Subject: Interpreted language, Futures and promises, Trait (computer programming)
Collection:
Publisher: World Heritage Encyclopedia
Publication
Date:
 

Squeak Smalltalk

This article is about the Smalltalk dialect. For the children's TV show, see Squeak!.
Squeak
Original author(s) Alan Kay, Dan Ingalls, Adele Goldberg
Developer(s) Alan Kay, Dan Ingalls, Ted Kaehler, Scott Wallace, John Maloney, Andreas Raab, Mike Rueger
Initial release 1996
Stable release 4.4 / December 31, 2012 (2012-12-31)
Operating system Cross-platform (multi-platform): Unix-like, Mac OS X, iOS, Windows, more
Type Smalltalk virtual machine, development environment
License MIT license
Website

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.

Squeak is available for many platforms, and programs produced on one platform run bit-identical on all other platforms. 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 itself. For this reason, it is easily ported.

Developers

Dan Ingalls, an important contributor to the Squeak project, wrote the paper[1] 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 a number of user-interface frameworks:

  • An implementation of Morphic, Self's graphical direct manipulation interface framework. This is Squeak's main interface.
  • Tile-based, limited visual programming scripting in Etoys, based on Morphic.
  • A new, 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.[2] 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.[3] 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.
  • In Squeak versions 3.8 and earlier, the MVC interface. It derived from the original Smalltalk-80 user-interface framework which first introduced and popularized the model–view–controller architectural pattern.[4] 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 was provided for programmers who wished to use this older type of interface.

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 es operating system 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.[5]

License

Squeak 4.0 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[6] and has attained official approval from the Open Source Initiative[7] 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.[8]

See also

Free software portal

References

External links

  • DMOZ
  • Squeak Swiki
  • Back to the future: the story of Squeak, a practical Smalltalk written in itself
  • Squeakland.org
  • SqueakNotes
  • Learning Squeak at c2.com
  • Squeak by Example
  • Downloadable books about Smalltalk
  • Squeak: Object-Oriented design With Multimedia Applications, by Mark Guzdial
  • Download source code and Windows, Linux and Mac versions
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 


Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.