EToys (Programming Language)
Encyclopedia
Etoys is a child-friendly computer
Computer
A computer is a programmable machine designed to sequentially and automatically carry out a sequence of arithmetic or logical operations. The particular sequence of operations can be changed readily, allowing the computer to solve more than one kind of problem...

 environment
Run-time system
A run-time system is a software component designed to support the execution of computer programs written in some computer language...

 and object-oriented
Object-oriented programming
Object-oriented programming is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as data abstraction,...

 prototype-based
Prototype-based programming
Prototype-based programming is a style of object-oriented programming in which classes are not present, and behavior reuse is performed via a process of cloning existing objects that serve as prototypes. This model can also be known as classless, prototype-oriented or instance-based programming...

 programming
Computer programming
Computer programming is the process of designing, writing, testing, debugging, and maintaining the source code of computer programs. This source code is written in one or more programming languages. The purpose of programming is to create a program that performs specific operations or exhibits a...

 language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

 for use in education
Education
Education in its broadest, general sense is the means through which the aims and habits of a group of people lives on from one generation to the next. Generally, it occurs through any experience that has a formative effect on the way one thinks, feels, or acts...

.

Etoys is a media-rich authoring
Authoring
Authoring may refer to:* Writing, as by an author* Authoring systems, computer based systems that allow the creation of content for intelligent tutoring systems...

 environment with a scripted
Scripting language
A scripting language, script language, or extension language is a programming language that allows control of one or more applications. "Scripts" are distinct from the core code of the application, as they are usually written in a different language and are often created or at least modified by the...

 object model for many different objects that runs on different platforms and is free and open source.

Brief history of Etoys

  • Squeak was originally developed at Apple in 1996 by Dan Ingalls.
  • Squeak is a Smalltalk implementation, object-oriented, class-based, and reflective, derived from Smalltalk-80 at Apple Computer. It was developed by some of the original Smalltalk-80 developers, including Dan Ingalls, Ted Kaehler, and Alan Kay. The team also included Scott Wallace and John Maloney.
  • 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 MIT.
  • “Back to the Future: the story of Squeak, a practical Smalltalk written in itself” by Dan Ingalls, Ted Kaehler, John Maloney, Scott Wallace, Alan Kay. Paper presented at OOPSLA, Atlanta, Georgia, 1997 by Dan Ingalls. Paper available at ACM: http://portal.acm.org/citation.cfm?id=263754

  • Squeak migrated to Disney Imagineering Research in 1996.
  • Etoys development began and was directed by Alan Kay
    Alan Kay
    Alan Curtis Kay is an American computer scientist, known for his early pioneering work on object-oriented programming and windowing graphical user interface design, and for coining the phrase, "The best way to predict the future is to invent it."He is the president of the Viewpoints Research...

     at Disney to support constructionist learning, influenced by Seymour Papert and the Logo programming language.
  • The original Etoys development team at Disney included: Scott Wallace, Ted Kaehler, John Maloney, Dan Ingalls.

  • Etoys influenced the development of another Squeak-based educational programming environment known as Scratch. Scratch was developed at MIT, after Mitchell Resnick invited John Maloney of the original Etoys development team to come to MIT.

  • Etoys migrated to Viewpoints Research, Inc., incorporated in 2001, to improve education for the world’s children and advance the state of systems research and personal computing. http://www.vpri.org/
  • In 2006-2007, Etoys built in Squeak was used by the OLPC project, on their OLPC XO-1 educational machine. It is preinstalled on all of the XO-1 laptops.
  • “Etoys for One Laptop Per Child”, paper by Bert Freudenberg, Yoshiki Ohshima, Scott Wallace, January 2009. Paper presented at the Seventh Annual International Conference on Creating, Computing, Connecting, and Collaborating through Computing, Kyoto University, Kyoto, Japan, January 2009.
  • In 2009, the Squeakland Foundation was created by Viewpoints Research, Inc., as an initial step in launching the foundation to continue encouraging development and use of Etoys as an educational medium.
  • Viewpoints Research Inc. supported Squeakland Foundation in 2009-2010, and in January of 2010, the Squeakland Foundation was launched as a separate entity.

Motives, influences

Etoys development was inspired and directed by Alan Kay
Alan Kay
Alan Curtis Kay is an American computer scientist, known for his early pioneering work on object-oriented programming and windowing graphical user interface design, and for coining the phrase, "The best way to predict the future is to invent it."He is the president of the Viewpoints Research...

 and his work to advance and support constructionist learning
Constructionist learning
Constructionist learning is inspired by the constructivist theory that individual learners construct mental models to understand the world around them. However, constructionism holds that learning can happen most effectively when people are also active in making tangible objects in the real world...

. Primary influences include Seymour Papert
Seymour Papert
Seymour Papert is an MIT mathematician, computer scientist, and educator. He is one of the pioneers of artificial intelligence, as well as an inventor of the Logo programming language....

 and the Logo
Logo (programming language)
Logo is a multi-paradigm computer programming language used in education. It is an adaptation and dialect of the Lisp language; some have called it Lisp without the parentheses. It was originally conceived and written as functional programming language, and drove a mechanical turtle as an output...

 programming language, a dialect
Programming language dialect
A dialect of a programming language is a variation or extension of the language that does not change its intrinsic nature. With languages such as Scheme and Forth, standards may be considered insufficient, inadequate or even illegitimate by implementors, so often they will deviate from the...

 of Lisp optimized for educational use; work done at Xerox
Xerox
Xerox Corporation is an American multinational document management corporation that produced and sells a range of color and black-and-white printers, multifunction systems, photo copiers, digital production printing presses, and related consulting services and supplies...

 Palo Alto
Palo Alto, California
Palo Alto is a California charter city located in the northwest corner of Santa Clara County, in the San Francisco Bay Area of California, United States. The city shares its borders with East Palo Alto, Mountain View, Los Altos, Los Altos Hills, Stanford, Portola Valley, and Menlo Park. It is...

 Research Center, PARC; Smalltalk
Smalltalk
Smalltalk is an object-oriented, dynamically typed, reflective 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...

, HyperCard
HyperCard
HyperCard is an application program created by Bill Atkinson for Apple Computer, Inc. that was among the first successful hypermedia systems before the World Wide Web. It combines database capabilities with a graphical, flexible, user-modifiable interface. HyperCard also features HyperTalk, written...

, and StarLogo
StarLogo
StarLogo is an agent-based simulation language developed by Mitchel Resnick, Eric Klopfer, and others at MIT Media Lab and MIT Teacher Education Program in Massachusetts. It is an extension of the Logo programming language, a dialect of Lisp...

 (cf. http://www.vpri.org/pdf/rn2005001_learning.pdf). Scott Wallace is the main author http://weather-dimensions.com/tedkaehler/us/ted/resume/resume-oct03.html. Promotion and development of the main Squeak version of Etoys is co-ordinated by the Viewpoints Research Institute
Viewpoints Research Institute
Started by Alan Kay, Viewpoints Research Institute is a nonprofit public benefit organization incorporated in 2001 to improve "powerful ideas education" for the world's children and to advance the state of systems research and personal computing...

, a U.S. educational non-profit.

Etoys was a major influence on a similar Squeak-based programming environment known as Scratch. Scratch was designed with Etoys code in the early 21st century by the MIT Media Lab
MIT Media Lab
The MIT Media Lab is a laboratory of MIT School of Architecture and Planning. Devoted to research projects at the convergence of design, multimedia and technology, the Media Lab has been widely popularized since the 1990s by business and technology publications such as Wired and Red Herring for a...

, initially targeted at after-school computer clubs.

Features

The Etoys system is based on the idea of programmable virtual
Virtual
The term virtual is a concept applied in many fields with somewhat differing connotations, and also, differing denotations.The term has been defined in philosophy as "that which is not real" but may display the salient qualities of the real....

 entities behaving on the computer screen.

Etoys provides a media-rich authoring
Authoring
Authoring may refer to:* Writing, as by an author* Authoring systems, computer based systems that allow the creation of content for intelligent tutoring systems...

 environment with a simple, powerful scripted object model for many kinds of objects created by end-users. It includes 2D
2D computer graphics
2D computer graphics is the computer-based generation of digital images—mostly from two-dimensional models and by techniques specific to them...

 and 3D
3D computer graphics
3D computer graphics are graphics that use a three-dimensional representation of geometric data that is stored in the computer for the purposes of performing calculations and rendering 2D images...

 graphics
Graphics
Graphics are visual presentations on some surface, such as a wall, canvas, computer screen, paper, or stone to brand, inform, illustrate, or entertain. Examples are photographs, drawings, Line Art, graphs, diagrams, typography, numbers, symbols, geometric designs, maps, engineering drawings,or...

, image
Image
An image is an artifact, for example a two-dimensional picture, that has a similar appearance to some subject—usually a physical object or a person.-Characteristics:...

s, text
Plain text
In computing, plain text is the contents of an ordinary sequential file readable as textual material without much processing, usually opposed to formatted text....

, particles, presentations, web-pages, video
Video
Video is the technology of electronically capturing, recording, processing, storing, transmitting, and reconstructing a sequence of still images representing scenes in motion.- History :...

s, sound and MIDI
Musical Instrument Digital Interface
MIDI is an industry-standard protocol, first defined in 1982 by Gordon Hall, that enables electronic musical instruments , computers and other electronic equipment to communicate and synchronize with each other...

, the ability to share desktops with other Etoy users in real-time
Real-time computing
In computer science, real-time computing , or reactive computing, is the study of hardware and software systems that are subject to a "real-time constraint"— e.g. operational deadlines from event to system response. Real-time programs must guarantee response within strict time constraints...

, so many forms of immersive mentoring
Mentorship
Mentorship refers to a personal developmental relationship in which a more experienced or more knowledgeable person helps a less experienced or less knowledgeable person....

 and play can be done over the Internet
Internet
The Internet is a global system of interconnected computer networks that use the standard Internet protocol suite to serve billions of users worldwide...

.

It is multilingual
Multilingualism
Multilingualism is the act of using, or promoting the use of, multiple languages, either by an individual speaker or by a community of speakers. Multilingual speakers outnumber monolingual speakers in the world's population. Multilingualism is becoming a social phenomenon governed by the needs of...

, and has been used successfully in United States
United States
The United States of America is a federal constitutional republic comprising fifty states and a federal district...

, Europe
Europe
Europe is, by convention, one of the world's seven continents. Comprising the westernmost peninsula of Eurasia, Europe is generally 'divided' from Asia to its east by the watershed divides of the Ural and Caucasus Mountains, the Ural River, the Caspian and Black Seas, and the waterways connecting...

, South America
South America
South America is a continent situated in the Western Hemisphere, mostly in the Southern Hemisphere, with a relatively small portion in the Northern Hemisphere. The continent is also considered a subcontinent of the Americas. It is bordered on the west by the Pacific Ocean and on the north and east...

, Japan
Japan
Japan is an island nation in East Asia. Located in the Pacific Ocean, it lies to the east of the Sea of Japan, China, North Korea, South Korea and Russia, stretching from the Sea of Okhotsk in the north to the East China Sea and Taiwan in the south...

, Korea
Korea
Korea ) is an East Asian geographic region that is currently divided into two separate sovereign states — North Korea and South Korea. Located on the Korean Peninsula, Korea is bordered by the People's Republic of China to the northwest, Russia to the northeast, and is separated from Japan to the...

, India
India
India , officially the Republic of India , is a country in South Asia. It is the seventh-largest country by geographical area, the second-most populous country with over 1.2 billion people, and the most populous democracy in the world...

, Nepal
Nepal
Nepal , officially the Federal Democratic Republic of Nepal, is a landlocked sovereign state located in South Asia. It is located in the Himalayas and bordered to the north by the People's Republic of China, and to the south, east, and west by the Republic of India...

, Ethiopia
Ethiopia
Ethiopia , officially known as the Federal Democratic Republic of Ethiopia, is a country located in the Horn of Africa. It is the second-most populous nation in Africa, with over 82 million inhabitants, and the tenth-largest by area, occupying 1,100,000 km2...

, and elsewhere.

Versions

All Etoys versions are based on object-oriented programming languages. Squeak Etoys runs on more than 20 platforms bit-identically. Versions exist written in three programming languages. The original and most widely used is based on Squeak
Squeak
The Squeak programming language is a Smalltalk implementation. 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...

, a dialect of Smalltalk. The second is also based on Squeak, but uses the optional Tweak programming environment instead of Squeak's default Morphic environment
Morphic (software)
The name "Morphic" was taken from the Greek word "morph", its morphs taking on the role of "forms", the basic graphical building blocks in earlier Self systems and in Smalltalk MVC....

. The third is based on Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

 and is named PataPata http://sourceforge.net/projects/patapata/. PataPata has been abandoned by its author.

In 2006 and; 2007, the Squeak Morphic version was adapted for distribution on the OLPC XO-1
OLPC XO-1
The XO-1, previously known as the $100 Laptop, Children's Machine, and 2B1, is an inexpensive subnotebook computer intended to be distributed to children in developing countries around the world, to provide them with access to knowledge, and opportunities to "explore, experiment and express...

 educational machine, sometimes known as the $100 laptop. Viewpoints Research Institute
Viewpoints Research Institute
Started by Alan Kay, Viewpoints Research Institute is a nonprofit public benefit organization incorporated in 2001 to improve "powerful ideas education" for the world's children and to advance the state of systems research and personal computing...

 participates in the One Laptop per Child association, and Etoys is pre-installed on all XO-1 laptops.

The licensing
License
The verb license or grant licence means to give permission. The noun license or licence refers to that permission as well as to the document recording that permission.A license may be granted by a party to another party as an element of an agreement...

 is free
Free software
Free software, software libre or libre software 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 restrictions that only ensure that further recipients can also do...

 and open source
Open-source software
Open-source software is computer software that is available in source code form: the source code and certain other rights normally reserved for copyright holders are provided under a software license that permits users to study, change, improve and at times also to distribute the software.Open...

.

As of 2010, Etoys 4 conforms to the requirements of free and open source systems, such as the various Linux distributions.

In 1996, Apple had released Squeak under their "Squeak license", which did not qualify as fully free software, due to the presence of an indemnity clause. The source code was available and modification was permitted.

In May 2006, Apple relicensed the Squeak core under the Apache 2.0 license, thanks to Steve Jobs, Dan Ingalls, and Alan Kay. Viewpoints Research collected written relicensing agreements from several hundred contributors under the MIT license, and all code in Etoys not explicitly covered by a relicensing agreement was removed, rewritten, or reverted to an earlier version, mostly by Yoshiki Ohshima. Squeak Etoys is now completely free and open source.

External links

  • Squeakland — Etoys official site (Viewpoints Research Institute
    Viewpoints Research Institute
    Started by Alan Kay, Viewpoints Research Institute is a nonprofit public benefit organization incorporated in 2001 to improve "powerful ideas education" for the world's children and to advance the state of systems research and personal computing...

    )
  • Etoys, Tutorials & Other Goodies — gives some examples of Etoys
  • Etoys — on the One Laptop per Child wiki
  • EtoysIllinois — a MultiLingual Collection of more than 800 projects with a special category for Etoys OLPC. Lesson materials developed at the Office for Mathematics, Science, and Technology Education at the University of Illinois at Urbana-Champaign
    University of Illinois at Urbana-Champaign
    The University of Illinois at Urbana–Champaign is a large public research-intensive university in the state of Illinois, United States. It is the flagship campus of the University of Illinois system...

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK