All Topics  
Squeak

 
Squeak

   Email Print
   Bookmark   Link






 

Squeak



 
 
The Squeak programming language
Programming language

A programming language is a machine-readable artificial language designed to express computations that can be performed by a machine, particularly a computer....
 is a Smalltalk
Smalltalk

Smalltalk is an Object-oriented programming, Type system, reflection computer programming programming language. Smalltalk was created as the language to underpin the "new world" of computing exemplified by "human?computer symbiosis." It was designed and created in part for educational use, more so for constructionist learning, at PARC by Al...
 implementation, 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. Some Squeak users refer to Squeak as a programming language rather than as a Smalltalk implementation.






Discussion
Ask a question about 'Squeak'
Start a new discussion about 'Squeak'
Answer questions from other users
Full Discussion Forum



Encyclopedia


The Squeak programming language
Programming language

A programming language is a machine-readable artificial language designed to express computations that can be performed by a machine, particularly a computer....
 is a Smalltalk
Smalltalk

Smalltalk is an Object-oriented programming, Type system, reflection computer programming programming language. Smalltalk was created as the language to underpin the "new world" of computing exemplified by "human?computer symbiosis." It was designed and created in part for educational use, more so for constructionist learning, at PARC by Al...
 implementation, 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. Some Squeak users refer to Squeak as a programming language rather than as a Smalltalk implementation. It is object-oriented
Object-oriented programming

Object-oriented programming is a programming paradigm that uses "Object_" and their interactions to design applications and computer programs....
, class-based
Class (computer science)

In object-oriented programming, a class is a programming language construct that is used as a blueprint to create Object s. This blueprint includes Attribute s and Method s that the created objects all share....
, and reflective
Reflection (computer science)

In computer science, reflection is the process by which a computer program can observe and modify its own structure and behaviour. The programming paradigm driven by reflection is called reflective programming....
. 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
Virtual machine

In computer science, a virtual machine is a software implementation of a machine that executes programs like a real machine.Definitions...
 (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 "", 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
Alan Kay

Alan Curtis Kay is an United States computer scientist, known for his early pioneering work on object-oriented programming and Window graphical user interface design....
 proposed in the Dynabook
Dynabook

The Dynabook concept was created by Alan Kay in 1968, two years before the founding of Xerox PARC. Kay wanted to make ?A Personal Computer For Children Of All Ages.? The ideas led to the development of the Xerox Alto prototype, which was originally called ?the interim 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
Commit (data management)

In the context of computer science and data management, commit refers to the idea of making a set of tentative changes permanent. A popular usage is at the end of a database transaction....
.

User interface frameworks

Squeak includes a number of user interface frameworks:
  • An implementation of Morphic
    Morphic (software)

    Morphic is a direct-manipulation User Interface construction kit based on display trees. A Morphic interface is built out of graphical objects known as morphs , which allow for a great degree of flexibility and dynamicism....
    , Self's
    Self programming language

    Self is an Object-oriented programming computer programming programming language based on the concept of Prototype-based programming. It was used mainly as an experimental test system for language design in the 1980s and 1990s....
     graphical direct manipulation interface
    Direct manipulation interface

    Direct manipulation is a human-computer interaction style which involves continuous representation of objects of interest, and rapid, reversible, incremental actions and feedback....
     framework. This is Squeak's main interface.
  • Tile-based, limited visual programming
    Visual programming language

    A visual programming language is any programming language that lets users create computer program by manipulating program elements graphically rather than by specifying them textually....
     scripting in eToys
    EToys (Programming Language)

    Etoys is a child-friendly computer Runtime and Object-oriented programming Prototype-based programming computer programming programming language for use in education....
    , based on Morphic.
  • A new, experimental interface called . 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. 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. Its underlying object system is class-based, but to users, during programming (scripting), it acts like it is prototype-based
    Prototype-based programming

    Prototype-based programming is a style of object-oriented programming in which class es are not present, and behavior reuse is performed via a process of cloning existing object s that serve as prototypes....
    . Tweak objects are created and run in Tweak project windows.
  • MVC, derived from the original Smalltalk-80 user interface framework which first introduced and popularized the Model-View-Controller
    Model-view-controller

    Model?View?Controller is an Architectural pattern used in software engineering. Successful use of the pattern isolates business logic from user interface considerations, resulting in an application where it is easier to modify either the visual appearance of the application or the underlying business rules without affecting the other....
     architectural pattern (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 is provided for programmers who wish to use this older type of interface.


Uses

Many Squeak contributors collaborate on the free
Free software

Free Software or software libre is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with minimal restrictions only to ensure that further recipients can also do these things and to prevent consumer-facing hardware...
 and open source Croquet project
Croquet Project

The Croquet Project is an international effort to promote the continued development of Croquet, a free software Computer software Platform and a Computer network operating system for developing and delivering deeply collaborative multi-user online Application software....
, which is built on Squeak, and offers a networked, real time, collaborative workspace with 2D and 3D abilities.

Squeak is also used in the es
Es (operating system)

es is a computer operating system developed originally by Nintendo and since 2008 by Google. The operating system runs natively on x86, and includes a kernel written in C++....
 operating system.

License

Squeak may be downloaded at no cost, including all its source code. Unlike other languages, Squeak is distributed in a prebuilt virtual machine
Virtual machine

In computer science, a virtual machine is a software implementation of a machine that executes programs like a real machine.Definitions...
 image form rather than bootstrappable
Bootstrapping (compilers)

Bootstrapping is a term used in computer science to describe the techniques involved in writing a compiler in the target programming language which it is intended to compile....
 source code.

There is some debate as to whether the Squeak license qualifies as free software
Free software

Free Software or software libre is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with minimal restrictions only to ensure that further recipients can also do these things and to prevent consumer-facing hardware...
 or not, due to the presence of an indemnity clause in the original Squeak License. Version 1.1 of the environment, originally released on October 1997 under the Squeak License, has been released in May 2006 under the free and open source Apple Public Source License
Apple Public Source License

The Apple Public Source License is the open source license and free software license under which Apple Inc.'s Darwin operating system was released....
. It has been relicensed under the Apache License
Apache License

The Apache License is a free-software license authored by the Apache Software Foundation . The Apache License requires preservation of the copyright notice and disclaimer, but it is not a copyleft license — it allows use of the source code for the development of free software and open source software as well as proprietary software....
 allowing inclusion in the One Laptop Per Child initiative.

See also

  • Croquet project
    Croquet Project

    The Croquet Project is an international effort to promote the continued development of Croquet, a free software Computer software Platform and a Computer network operating system for developing and delivering deeply collaborative multi-user online Application software....
  • Seaside
  • Scratch
  • Alice
    Alice (software)

    Alice is a free software and open source object-oriented programming educational programming language with an Integrated_development_environment ....
  • EToys
    EToys (Programming Language)

    Etoys is a child-friendly computer Runtime and Object-oriented programming Prototype-based programming computer programming programming language for use in education....
  • SqueakNOS


External links

  • (HTML versions:[ftp://st.cs.uiuc.edu/Smalltalk/Squeak/docs/OOPSLA.Squeak.html])
  • at c2.com
  • Champaign, IL


Books

  • Squeak by Example is a new open-source book about the Squeak development environment.
  • Permission obtained to make these books freely available. Over a dozen full texts scanned from print.)
  • Book in Spanish by Diego Gomez Deck.
  • , by Mark Guzdial