Squeak

Squeak
Squeak
Squeak.svg
Entwickler The Squeak Community
Aktuelle Version 4.2
(4. Februar 2011)
Betriebssystem Windows, Linux, Mac OS X, u.a.
Kategorie objektorientierte Programmiersprache
Lizenz MIT-Lizenz, teilweise Apache-Lizenz 2.0
Deutschsprachig Als Add-on
squeak.org, squeak.de

Squeak ist eine Open-Source-Implementierung der Programmiersprache Smalltalk samt der für diese Sprache üblichen Entwicklungsumgebung. Sie wurde von einer Arbeitsgruppe bei Apple Computer entwickelt, zu der auch einige der ursprünglichen Smalltalk-80 Entwickler wie Alan Kay, Dan Ingalls u.a. gehörten. Diese Gruppe setzte diese Entwicklung bei Walt Disney Imagineering fort, wo Squeak für interne Projekte eingesetzt werden sollte. Squeak wird heute von einer weltweiten freien Gemeinschaft weiterentwickelt, wobei die auf Squeak aufbauende 3-dimensionale-Multinutzerumgebung Croquet ein wichtiger Zweig dieser Weiterentwicklung ist, der von ursprünglichen Smalltalk-80-Entwicklern, namhaften wissenschaftlichen Instituten und IT-Unternehmen unterstützt wird.

Squeak ermöglicht Computer-Simulationen, welche Kinder selbst entwickeln und durchführen können. Gefördert wurde die Entwicklung von Squeak zeitweise durch das Unternehmen „Walt Disney Imageneering“, da Squeak unter anderem ein Hilfsmittel sein sollte, Vorschulkindern beim Lernen zu helfen. Dabei ging es ausdrücklich nicht darum, Kinder früh mit Technik in Berührung zu bringen. [1]

Vorteilhaft ist die schnelle und jederzeitige Neuprogrammierung und Verbesserung des Vorhandenen. Zudem erfordert Squeak keine abstrakte Programmiersprache sondern lässt sich durch einfache Optionen grafisch steuern. Die grafische Benutzeroberfläche heißt in Squeak Morphic.

Inhaltsverzeichnis

E-Toys

Squeak wurde vor allem von Alan Kay erweitert, um von Kindern benutzbar zu sein. Diesen Teil von Squeak nennt er E-Toys.

Beispiel für die beschriebene Autosimulation.

Am Beispiel einer Autosimulation soll nachfolgend die Eingabe in E-Toys verdeutlicht werden: Zunächst erstellt das Kind ein grafisches Objekt, z.B. ein Auto. Danach zeichnet es ein weiteres Objekt, z.B. eine farbige Straße. Schließlich müssen nur noch die entsprechenden logischen Bedingung gesetzt werden, damit das Auto auf dieser farbigen Straße selbständig fährt. Nach Eingabe der Bedingungen kann das Kind dann die Simulation starten und beobachten, welche Resultate seine logischen Anweisungen hervorbringen. Durch das Versuch-und-Irrtum-Verfahren werden Kinder befähigt, logische Zusammenhänge zwischen Anweisung und Reaktion bildlich und somit unmittelbar wahrzunehmen.

Die erstellte Simulation kann dann ebenfalls in der Sprache Smalltalk gespeichert werden. Dabei werden die geschriebenen Programme übersichtlich in Ordner zusammengefasst (das sogenannte Changeset), um einen leichten Austausch der von den Kindern entwickelten Simulationen untereinander zu ermöglichen.

100-Dollar-Laptop

Squeak ist im Rahmen des Projektes „100-Dollar-Laptop“ auf den Schülerlaptops verfügbar. [2] Die Schülerlaptops sollen dabei mit einer Grundausstattung von sog. EToys versehen werden, um den Schülern von Anfang an den altersgerechten Einstieg in logischem Denken und Computerprogrammierung geben zu können.[3] Für den Schülerlaptop wurde Squeak unter der freien Apache-Lizenz relizenziert.[4]

Geschichte

Der Entwurf von Squeak folgt in weiten Teilen den Büchern von Adele Goldberg und David Robson (bekannt als Blue Book) sowie von Glen Krasner (Green Book). Dort wird die Smalltalk-Programmierumgebung definiert, die Squeak mit einigen Variationen, etwa einer zusätzlichen anderen Syntax, bietet.

Der Plan, Squeak zu entwickeln, entstand im Dezember 1995. Dabei sollte eine Software entwickelt werden, die Benutzer lehren kann, ohne viel Vorwissen zu fordern.

Squeak wurde erstmals im September 1996 als erstes freies Smalltalk veröffentlicht. Dan Ingalls, Ted Kaehler, John Maloney, Scott Wallace und Alan Kay schreiben in [5], dass sie fühlten, dass hier glückte, was 1980 fehlschlug. Drei Wochen später wurde die erste UNIX-Portierung von Ian Piumerta veröffentlicht. Bis heute (Stand März 2010) wird es kontinuierlich weiterentwickelt. Die wichtigste Entwicklung in dieser Zeit ist die Modularisierung der Code-Teile gewesen, die einige Probleme löst, die durch den Austausch von Programmen durch Changesets entstehen.

Mit der zur Version 3.10.2 funktional äquivalenten Version 4.0 wurde, lange Zeit vorbereitet, der Schritt zur Lizenzierung unter der MIT-Lizenz vollzogen, wobei Teile unter der Apache-Lizenz 2.0 verblieben. Zuvor wurde eine eigene von Apple stammende Lizenz verwendet. Während des Relizenzierungsprozesses vorgenommene Weiterentwicklungen der Software wurden in Version 4.1 integriert.

Aufbau

Als Grundlage diente die Apple-Smalltalk-80-Implementierung, die allerdings über weite Strecken aus 68020-Assembler bestand, der nicht portierbar war. Um Portierbarkeit zu erreichen, verwendete man die Programmiersprache C, die bei den Autoren zwar wegen der Portierbarkeit geschätzt war, die man aber trotzdem nicht gern mochte. Darum baute man zuerst einen Übersetzer, der SmaCC genannt wurde, der eine Untermenge von Smalltalk-Code in C-Code übersetzen konnte, sodass man die Portierbarkeit von C-Code genießen konnte, ohne die Sprache schreiben zu müssen.

Dieser Aufbau erlaubt dem einmal mit einem C-Compiler übersetzten und ausgeführten Code, sich selbst zu interpretieren, was das Suchen nach Fehlern im Interpreter erleichtert.

Das Speichermanagement ist zugunsten der Effektivität sehr komplex, da Wert darauf gelegt wurde, dass eine Integervariable nur 32 Bit im Speicher belegen solle. Auch für weitere Objektklassen wurden Sonderregeln eingeführt, um den Speicherverbrauch zu verringern. Daher muss für jedes Objekt erst einmal geprüft werden, ob es ein Integer ist oder irgendein anderes Objekt ist, wofür ein Bit jeder Referenz benutzt wird. Daher kann Squeak nur Ganzzahlen bis 31 Bit als echte Ganzzahlen vom Prozessor berechnen lassen.[6]

Siehe auch

Weblinks

 Commons: Squeak – Sammlung von Bildern, Videos und Audiodateien

Literatur

  • Goldberg, A. and Robson, D., Smalltalk-80: The Language and Its Implementation, Addison-Wesley, Reading, MA,1983.
  • Krasner, G., ed., Smalltalk-80, Bits of History, Words of Advice, Addison-Wesley, Reading, MA,1983.
  • Black, A. and Ducasse, S. and Nierstrasz, S. and Pollet, D., Squeak by Example, Square Bracket Associates, 2007 squeakbyexample.org

Quellen

  1. Homepage der Squeak Foundation
  2. Wiki des Projektes OLPC: „Squeak“
  3. Wiki des Projektes OLPC: „Etoys“
  4. vgl. Mitteilung des Projektes OLPC vom 30. September 2006: „OLPC News (30. September 2006)“
  5. Dan Ingalls, Ted Kaehler, John Maloney, Scott Wallace, Alan Kay: Back to the future: the story of Squeak, a practical Smalltalk written in itself. In: Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications. Association for Computing Machinery, New York, NY 1997, ISBN 0-89791-908-4, S. 318–326, doi:10.1145/263698.263754 (http://users.ipa.net/~dwighth/squeak/oopsla_squeak.html).
  6. Squeak, Mark Guzdial, Kim Rose, 2002 bei Prentice Hall, ISBN 0-13-028091-7, Seiten 185 ff.

Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Squeak — est une implémentation libre du langage de programmation Smalltalk. Sommaire 1 Introduction 2 Squeak et l éducation 3 Aspects techniques 4 …   Wikipédia en Français

  • Squeak — 3.9. Squeak, como la reencarnación de los proyectos Dynabook y Smalltalk de los años 70, busca ser un meta medio. Un lugar donde convivan todos los medios de expresión conocidos hasta la fecha (texto, video, sonido, música, gráficos 2D, gráficos… …   Wikipedia Español

  • Squeak — Семантика: объектно ориентированная Появился в: 1996 Автор(ы): Алан Кэй, Дэн Ингаллс, Адель Гольдберг Релиз …   Википедия

  • squeak — [skwēk] vi. [ME squeken, prob. akin to ON skvakka, to gurgle] 1. to make or utter a short, sharp, high pitched sound or cry 2. [Informal, Chiefly Brit.] to act as an informer; squeal vt. 1. to utter or produce in a squeak 2. to cause (a door, etc …   English World dictionary

  • squeak´i|ly — squeak|y «SKWEE kee», adjective, squeak|i|er, squeak|i|est. 1. characterized by squeaking sounds; tending to squeak: »a squeaky window. 2. squeak …   Useful english dictionary

  • squeak|y — «SKWEE kee», adjective, squeak|i|er, squeak|i|est. 1. characterized by squeaking sounds; tending to squeak: »a squeaky window. 2. squeak …   Useful english dictionary

  • squeak — ► NOUN 1) a short, high pitched sound or cry. 2) a single remark or communication: I didn t hear a squeak from him. ► VERB 1) make a squeak. 2) say something in a high pitched tone. 3) informal succeed in achieving something by a very narrow… …   English terms dictionary

  • Squeak — Squeak, n. A sharp, shrill, disagreeable sound suddenly uttered, either of the human voice or of any animal or instrument, such as is made by carriage wheels when dry, by the soles of leather shoes, or by a pipe or reed. [1913 Webster] …   The Collaborative International Dictionary of English

  • Squeak — (skw[=e]k), v. i. [imp. & p. p. {Squeaked} (skw[=e]kt); p. pr. & vb. n. {Squeaking}.] [Probably of imitative origin; cf. Sw. sqv[ a]ka to croak, Icel. skvakka to give a sound as of water shaken in a bottle.] 1. To utter a sharp, shrill cry,… …   The Collaborative International Dictionary of English

  • Squeak — Squeak, como la reencarnación de los proyectos Dynabook y Smalltalk de los años 1970, busca ser un meta medio. Un lugar donde convivan todos los medios de expresión conocidos hasta la fecha (texto, video, sonido, música, gráficos 2D, gráficos 3D …   Enciclopedia Universal

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”