Squeak: Difference between revisions
Jerryobject (talk | contribs) m Added information to 1 line in infobox. |
No edit summary |
||
Line 16: | Line 16: | ||
}} |
}} |
||
The '''Squeak''' [[programming language]] is a [[Smalltalk]] implementation. |
The '''Squeak''' [[programming language]] is a [[Smalltalk]] implementation. although Squeak is a Smalltalk implementation, it is occasionally referred to as a programming language. It is [[object-oriented programming|object-oriented]], [[class (computer science)|class-based]] and [[reflection (computer science)|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. |
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. |
Revision as of 20:04, 19 October 2010
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.1
/ April 18, 2010[1] |
Repository | |
Operating system | Cross-platform (multi-platform): Unix-like, Mac OS X, iOS, Windows, more |
Type | Smalltalk virtual machine, development environment |
License | MIT license |
Website | www |
The Squeak programming language is a Smalltalk implementation. although Squeak is a Smalltalk implementation, it is occasionally referred to as a programming language. 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 itself (Squeak). For this reason, it is easily ported.
Developers
Dan Ingalls is one of the important contributors to the Squeak project. Ingalls wrote the paper "Back to the Future: the story of Squeak, a practical Smalltalk written in itself", as well as built the architecture for five generations of the Smalltalk language upon which Squeak is built.
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.
Andreas Raab seems to have the most commits.
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] The result was 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 is derived from the original Smalltalk-80 user interface framework which first introduced and popularized the model-view-controller architectural pattern[4] (so named after 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.
License
Squeak may be downloaded at no cost, including all its source code. Unlike other languages, Squeak is distributed in a prebuilt virtual machine image form rather than bootstrappable source code.
Squeak 4.0 is released under the MIT License, with some of the original Apple parts remaining under the Apache License. Contributions are required to be under the MIT license.
Originally, Apple released Squeak under the "Squeak license", which (even though all source code was available and modification was permitted) did not qualify as fully free software, due to the presence of an indemnity clause. Version 1.1 of the environment has been relicensed by Apple in May 2006 under the free and open source Apple Public Source License. It was relicensed again later in the same year under the Apache License to be compatible with the Debian Free Software Guidelines. The driving force for this was the inclusion of Etoys in the One Laptop Per Child project. For contributions made under the Squeak license since 1996, relicensing statements to the MIT license were collected from the Squeak community. Remaining code was rewritten or removed. In March 2010, the result of this relicensing effort was released as Squeak 4.0.[5]
See also
References
- ^ Andreas Raab (April 18,2010). "Squeak 4.1 released". Squeak Oversight Board.
{{cite web}}
: Check date values in:|date=
(help) - ^ http://tweakproject.org/ABOUT/FAQ/OriginalTweakMemo/
- ^ http://tweakproject.org/TECHNOLOGY/Whitepapers/
- ^ http://st-www.cs.uiuc.edu/users/smarch/st-docs/mvc.html
- ^ The H Open: Squeak 4.0 released - now under MIT/Apache license
External links
- Official website
- Squeak Swiki
- Back to the future: the story of Squeak, a practical Smalltalk written in itself (HTML versions:[1][2])
- Squeakland.org
- SqueakNotes
- Learning Squeak at c2.com
- EtoysIllinois Champaign, IL
- Template:Es icon Small-Land.org
- Template:Dmoz
- Pharo
Books
- Squeak by Example Squeak by Example is a new open-source book about the Squeak development environment.
- Downloadable books about Smalltalk Permission obtained to make these books freely available. Over a dozen full texts scanned from print.)
- Programando con Smalltalk - Un ambiente de objetos vivos Book in Spanish by Diego Gomez Deck.
- Squeak: Object-Oriented design With Multimedia Applications, by Mark Guzdial