Etoys (programming language)

Last updated
Etoys
Paradigm object-oriented prototype-based, educational
Designed by Alan Kay
Developer Scott Wallace, Ted Kaehler, John Maloney, Andreas Raab, Dan Ingalls [1]
First appeared1996
Typing discipline dynamic
License MIT and Apache 2.0 licenses [2]
Major implementations
Squeak (Morphic) Squeak (Tweak)
Influenced by
Logo, Smalltalk, HyperCard, StarLogo, AgentSheets
Influenced
Tweak, Croquet, Scratch

Etoys is a child-friendly computer environment and object-oriented prototype-based programming language for use in education.

Contents

Etoys is a media-rich authoring environment with a scripted object model for many different objects that runs on different platforms and is free and open source.

History

Motivation and influences

Etoys development was inspired and directed by Alan Kay and his work to advance and support constructionist learning. Primary influences include Seymour Papert and the Logo programming language, a dialect of Lisp optimized for educational use; work done at Xerox Palo Alto Research Center, PARC; Smalltalk, HyperCard, StarLogo and NetLogo. [5] The drag and drop tile-based approach is very similar to AgentSheets. Scott Wallace is the main author. Promotion and development of the main Squeak version of Etoys is co-ordinated by the Viewpoints Research Institute, 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, initially targeted at after-school computer clubs.

Features

A screenshot of a Squeak image (v.3.8), in French Squeak-screenshot.png
A screenshot of a Squeak image (v.3.8), in French

The Etoys system is based on the idea of programmable virtual entities behaving on the computer screen.

Etoys provides a media-rich authoring environment with a simple, powerful scripted object model for many kinds of objects created by end-users. It includes 2D and 3D graphics, images, text, particles, presentations, web-pages, videos, sound and MIDI, the ability to share desktops with other Etoy users in real-time, so many forms of immersive mentoring and play can be done over the Internet.

It is multilingual, and has been used successfully in United States, Europe, South America, Japan, Korea, India, Nepal, Ethiopia, and Russia [ citation needed ].

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, 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. The third is based on Python and is named 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 educational machine, sometimes known as the $100 laptop. Viewpoints Research Institute participates in the One Laptop per Child association, and Etoys is pre-installed on all XO-1 laptops.

The licensing is free and open source.

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.

Related Research Articles

<span class="mw-page-title-main">Alan Kay</span> American computer scientist (born 1940)

Alan Curtis Kay is an American computer scientist best known for his pioneering work on object-oriented programming and windowing graphical user interface (GUI) design. At Xerox PARC he led the design and development of the first modern windowed computer desktop interface. There he also led the development of the influential object-oriented programming language Smalltalk, both personally designing most of the early versions of the language and coining the term "object-oriented." He has been elected a Fellow of the American Academy of Arts and Sciences, the National Academy of Engineering, and the Royal Society of Arts. He received the Turing award in 2003.

<span class="mw-page-title-main">Smalltalk</span> Object-oriented programming language released first in 1972

Smalltalk is a purely object oriented programming language (OOP) that was originally created in the 1970s for educational use, specifically for constructionist learning, but later found use in business. It was created at Xerox PARC by Learning Research Group (LRG) scientists, including Alan Kay, Dan Ingalls, Adele Goldberg, Ted Kaehler, Diana Merry, and Scott Wallace.

<span class="mw-page-title-main">Squeak</span> Object-oriented programming language

Squeak is an object-oriented, class-based, and reflective programming language. It was derived from Smalltalk-80 by a group that included some of Smalltalk-80's original developers, initially at Apple Computer, then at Walt Disney Imagineering, where it was intended for use in internal Disney projects. The group would later go on to be supported by HP Labs, SAP, and most recently, Y Combinator.

<span class="mw-page-title-main">Adele Goldberg (computer scientist)</span> American computer scientist

Adele Goldberg is an American computer scientist. She was one of the co-developers of the programming language Smalltalk-80, which is a computer software that simplifies the programming language, and has been the basis of knowledge and structure for many other programming languages such as Python, C, and Java. She also developed many concepts related to object-oriented programming while a researcher at the Xerox Palo Alto Research Center (PARC), in the 1970s.

<span class="mw-page-title-main">Dynabook</span> Early portable computer concept

The KiddiComp concept, envisioned by Alan Kay in 1968 while a PhD candidate, and later developed and described as the Dynabook in his 1972 proposal "A personal computer for children of all ages", outlines the requirements for a conceptual portable educational device that would offer similar functionality to that now supplied via a laptop computer or a tablet or slate computer with the exception of the requirement for any Dynabook device offering near eternal battery life. Adults could also use a Dynabook, but the target audience was children.

Write once, run anywhere (WORA), or sometimes Write once, run everywhere (WORE), was a 1995 slogan created by Sun Microsystems to illustrate the cross-platform benefits of the Java language. Ideally, this meant that a Java program could be developed on any device, compiled into standard bytecode, and be expected to run on any device equipped with a Java virtual machine (JVM). The installation of a JVM or Java interpreter on chips, devices, or software packages became an industry standard practice.

StarLogo is an agent-based simulation language developed by Mitchel Resnick, Eric Klopfer, and others at the Massachusetts Institute of Technology (MIT) Media Lab and Scheller Teacher Education Program in Massachusetts. It is an extension of the Logo programming language, a dialect of Lisp. Designed for education, StarLogo can be used by students to model or simulate the behavior of decentralized systems.

Morphic is an interface construction environment which uses graphical objects called "Morphs" for simplified GUI-building which allow for flexibility and dynamism. It was originally created for Self, but later, was ported to other programming languages like Squeak, JavaScript, Python, and Objective-C.

<span class="mw-page-title-main">Dan Ingalls</span> American computer scientist

Daniel Henry Holmes Ingalls Jr. is a pioneer of object-oriented computer programming and the principal architect, designer and implementer of five generations of Smalltalk environments. He designed the bytecoded virtual machine that made Smalltalk practical in 1976. He also invented bit blit, the general-purpose graphical operation that underlies most bitmap computer graphics systems today, and pop-up menus. He designed the generalizations of BitBlt to arbitrary color depth, with built-in scaling, rotation, and anti-aliasing. He made major contributions to the Squeak version of Smalltalk, including the original concept of a Smalltalk written in itself and made portable and efficient by a Smalltalk-to-C translator.

<span class="mw-page-title-main">One Laptop per Child</span> Non-profit initiative

One Laptop per Child (OLPC) was a non-profit initiative that operated from 2005 to 2014 with the goal of transforming education for children around the world by creating and distributing educational devices for the developing world, and by creating software and content for those devices.

<span class="mw-page-title-main">Constructionism (learning theory)</span> Learning theory involving the construction of mental models

Constructionist learning is the creation by learners of mental models to understand the world around them. Constructionism advocates student-centered, discovery learning where students use what they already know to acquire more knowledge. Students learn through participation in project-based learning where they make connections between different ideas and areas of knowledge facilitated by the teacher through coaching rather than using lectures or step-by-step guidance. Further, constructionism holds that learning can happen most effectively when people are active in making tangible objects in the real world. In this sense, constructionism is connected with experiential learning and builds on Jean Piaget's epistemological theory of constructivism.

Tweak is a graphical user interface (GUI) layer written by Andreas Raab for the Squeak development environment, which in turn is an integrated development environment based on the Smalltalk-80 computer programming language. Tweak is an alternative to an earlier graphic user interface layer called Morphic. Development began in 2001.

Fabrik is a visual programming integrated development environment implemented in Smalltalk and designed at Apple Computer by Dan Ingalls, Scott Wallace, Yu-Ying Chow, Frank Ludolph, Ken Doyle and others during the mid-1980s. It consists of a kit of computational and graphic user interface components that can be "wired" together to build new components and useful applications.

The Classmate PC, formerly known as Eduwise, is Intel's entry into the market for low-cost personal computers for children in the developing world. It is in some respects similar to the One Laptop Per Child (OLPC) trade association's Children's Machine (XO), which has a similar target market. Although made for profit, the Classmate PC is considered an Information and Communication Technologies for Development project (ICT4D). Introduced in 2006, the device falls into the then popular category of netbooks.

<span class="mw-page-title-main">OLPC XO</span> Laptop computer

The OLPC XO is a low cost laptop 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 themselves". The XO was developed by Nicholas Negroponte, a co-founder of MIT's Media Lab, and designed by Yves Behar's Fuseproject company. The laptop is manufactured by Quanta Computer and developed by One Laptop per Child (OLPC), a non-profit 501(c)(3) organization.

<span class="mw-page-title-main">Pharo</span>

Pharo is a cross-platform implementation of the classic Smalltalk-80 programming language and runtime system. It is based on the OpenSmalltalk virtual machine (VM) named Cog, which evaluates a dynamic, reflective, and object-oriented programming language with a syntax closely resembling Smalltalk-80. It is free and open-source software, released under a mix of MIT, and Apache 2 licenses.

<span class="mw-page-title-main">DrGeo</span>

GNU Dr. Geo is an interactive geometry software that allows its users to design & manipulate interactive geometric sketches, including dynamic models of Physics. It is free software, created by Hilaire Fernandes, it is part of the GNU project. It runs over a Morphic graphic system. Dr. Geo was initially developed in C++ with Scheme scripting, then in various versions of Smalltalk with Squeak, Etoys_(programming_language) for One Laptop per Child Pharo then Cuis-Smalltalk.

Physical Etoys is a free open-source extension of Etoys developed by Gonzalo Zabala, Ricardo Moran, Sebastián Blanco and Matías Teragni at the Universidad Abierta Interamericana. Etoys is an object-oriented and prototype-based visual programming language created by Alan Kay for the use in education. Physical Etoys contains the majority of Etoys characteristics. Its philosophy is "help kids model and program the real world in order to learn more about it". Physical Etoys lets different electronic devices such as Lego NXT, Arduino boards, Sphero, Kinect, Wiimote joystick, among others, be easily programmed and interact between themselves due to its block scripting system.
In 2010, Physical Etoys won the first innovation technology award given at the ESUG conference.

Ted Kaehler is an American computer scientist known for his role in the development of several system methods. He is most noted for his contributions to the programming languages Smalltalk, Squeak, and Apple Computer's HyperCard system, and other technologies developed at Xerox PARC.

References

  1. "Dan Ingalls".
  2. "Squeakland : Download : License".
  3. "Dan Ingalls".
  4. 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. OOPSLA '97. ACM. pp. 318–326. doi:10.1145/263698.263754. ISBN   0-89791-908-4. S2CID   431100.
  5. "Squeak Etoys, Children & Learning" (PDF). www.vpri.org. Retrieved 2015-04-25.