Squeak


Squeak

Squeak est une implémentation libre du langage de programmation Smalltalk.

Sommaire

Introduction

Capture d'écran de l'environnement Squeak

Squeak est un environnement de programmation dynamique, conçu à l'origine pour des applications éducatives. C'est une implémentation performante du langage Smalltalk, basée sur une machine virtuelle écrite en large partie en Smalltalk elle-même.

Squeak est issu de travaux menés d'abord au Xerox PARC, puis chez Apple puis enfin chez Disney Interactive par une équipe constituée autour de Dan Ingals et Alan Kay.

Initialement conçu à l'adresse de publics jeunes ou novices en informatique, il est aujourd'hui l'objet de plusieurs contributions qui dépassent le cadre de l'éducation à proprement parler. On peut citer, parmi d'autre, Croquet, un projet d'environnement 3D complet ou encore Kedama, un outil de simulation multi-agent.

Squeak et l'éducation

Squeak est l'héritier du Logo dans l'approche qu'il propose de l'interaction informatique-éducation. Il s'inscrit dans les cadres théoriques de la psychologie du développement et des idées de gens comme Baldwin, Piaget ou Vygotski. C'est un environnement informatique de type micromonde.

Alan Kay, l'un des pères fondateurs de Squeak, concepteur du Dynabook, emboîte ainsi le pas à Papert et Minsky pour proposer un environnement de programmation à destination des enfants : l'idée de cet outil est d'offrir un grand espace de liberté, facilement accessible, et dans lequel les enfants pourront exprimer leurs idées et en explorer les conséquences (voir aussi constructivisme, théorie de l'activité).

L'un des aspects particuliers à l'environnement Squeak est le concept d'E-Toys, une concrétisation, sous forme de dessins que l'on crée soi-même, de la notion d'objet.

Squeak a été retenu pour faire partie du projet One Laptop per Child.

Aspects techniques

Squeak est entièrement programmé en Squeak, dialecte de Smalltalk. La machine virtuelle sous-jacente est écrite en Slang (un sous-ensemble moins orienté objet de Smalltalk) puis traduite en C par un programme Squeak et compilée pour la plate-forme ciblée.

Dans Squeak, on trouve une implémentation de Morphic, la structure architecturale graphique de manipulation directe d'objets du langage de programmation Self. Morphic est une alternative à l'interface « Model View Controller » (MVC) traditionnelle de Smalltalk-80, qui reste cependant disponible dans Squeak.

D'autre part, Squeak est orienté multimédia. Il intègre lecteurs de formats wav, mp3, flash, prend en charge le midi, la synthèse sonore et vocale, les API 2D et 3D, reconnaissance de caractères, mais gère également le réseau : serveur et navigateur web, prise en charge du format XML, lecteur de mail, etc.

Basé sur un mécanisme de machine virtuelle, Squeak a été porté sur de nombreuses plateformes. Ainsi, il est disponible sur GNU/Linux, Microsoft Windows, BSD, Apple Mac OS X, BeOS, AmigaOS, ainsi que sur certains assistants personnels.

Environnement de développement

Squeak propose un environnement de développement qui comporte des outils similaires à ceux que l'on retrouve dans tous les environnements Smalltalk (inspecteur d'objets, navigateurs de classes, outils de refactorisation), mais dont certains sont plus originaux :

  • Refactoring Browser : permet de visualiser facilement tout le code source de Squeak rangé en paquets, classes, protocoles et méthodes. Il possède des fonctions pour les transformations de code :
    • Renommage d'une classe, d'une méthode ou d'une variable automatiquement répercutée sur toutes les occurrences du nom de cette classe dans le code source.
    • Création en un clic des accesseurs à l'ajout d'une variable d'instance.
    • Extraction d'une partie d'une méthode dans une autre méthode (factorisation du code).
  • Method Finder : permet de retrouver une méthode dans tout le code en lui donnant une liste de paramètres (ordre non nécessaire) et un résultat attendu. Exemples :
MethodFinder methodFor: #( ('Squeak is a programming environment' 6) 'Squeak')
Résultat retourné :
'(data1 truncateTo: data2) '
→ Il faut donc utiliser la méthode truncateTo: pour avoir le début d'une chaîne de caractères.
MethodFinder methodFor: #( #(#(4 2 3 1)) #(1 2 3 4))
Résultat retourné :
'(data1 asSortedArray) (data1 sort) '
→ Il existe donc deux méthodes pour trier un tableau.
  • Workspace : permet de s'entraîner en tapant des commandes Smalltalk et en voyant immédiatement leurs résultats.
  • Navigateur pour les tests unitaires, navigateur pour la gestion de version des paquets, etc.

Voir aussi

Articles connexes

Liens externes



Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Squeak de Wikipédia en français (auteurs)

Regardez d'autres dictionnaires:

  • Squeak — Entwickler The Squeak Community Aktuelle Version 4.2 (4. Februar 2011) Betriebssystem …   Deutsch Wikipedia

  • 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”

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.