Grincement - Squeak

Grincer
Squeak.svg
Logo original de 1996 par Tim Rowledge
Capture d'écran de l'interface utilisateur Squeak/Smalltalk Morphic
Capture d' écran de l'interface utilisateur de Squeak Morphic.
Paradigme orienté objet
Conçu par Alan Kay , Dan Ingalls , Adèle Goldberg
Développeurs La communauté Squeak
Première apparition 1996 ; il y a 25 ans ( 1996 )
Version stable
5.3 / 4 mars 2020 ; il y a 19 mois ( 2020-03-04 )
Discipline de frappe Dynamique
Plate-forme Multiplateforme
Système d'exploitation Multiplateforme : Unix-like , macOS , iOS , Windows , plus
Licence MIT , Apache
Extensions de nom de fichier .image, .changements, .sources, .st
Site Internet www .squeak .org
Les principales mises en œuvre
couinement, croquet
Dialectes
Croquet , Newspeak (langage de programmation) , Pharo
Influencé par
Smalltalk , Lisp , Logo ; Carnet de croquis , Simula ; Soi
Influencé
Etoys , Tweak , Croquet , Scratch

Squeak est un langage de programmation orienté objet , basé sur les classes et réflexif . Il a été dérivé de Smalltalk-80 par un groupe qui comprenait certains des développeurs originaux de Smalltalk-80, d'abord chez Apple Computer , puis chez Walt Disney Imagineering , où il était destiné à être utilisé dans des projets internes de Disney. Le groupe sera plus tard soutenu par les laboratoires HP , SAP et, plus récemment, Y Combinator .

Squeak s'exécute sur une machine virtuelle (VM), permettant un degré élevé de portabilité. Le système Squeak comprend du code pour générer une nouvelle version de la VM sur laquelle il s'exécute, ainsi qu'un simulateur de VM écrit en Squeak.

Développeurs

Dan Ingalls , un contributeur important au projet Squeak, a écrit l'article sur lequel Squeak est construit et a construit l'architecture pour cinq générations du langage Smalltalk.

Alan Kay est un contributeur important au projet Squeak, et Squeak intègre de nombreux éléments de son concept Dynabook proposé .

Cadres d'interface utilisateur

Squeak comprend quatre frameworks d' interface utilisateur :

  • Une implémentation de Morphic , le framework d' interface graphique de manipulation directe de Self . C'est l'interface principale de Squeak.
  • Script de programmation visuelle limité basé sur des tuiles dans Etoys , basé sur Morphic.
  • Une nouvelle interface expérimentale appelée Tweak . En 2001, il est devenu clair que l'architecture Etoy dans Squeak avait atteint ses limites dans ce que l'infrastructure d'interface Morphic pouvait faire. Le chercheur de Hewlett-Packard Andreas Raab a proposé de définir un "processus de script" et de fournir un mécanisme de planification par défaut qui évite plusieurs problèmes plus généraux. Cela a abouti à une nouvelle interface utilisateur, proposée pour remplacer l'interface utilisateur Squeak Morphic à l'avenir. Ajustez les mécanismes ajoutés des îles, la messagerie asynchrone, les joueurs et les costumes, les extensions de langage, les projets et les scripts de tuiles. Son système d'objets sous-jacent est basé sur des classes, mais pour les utilisateurs, lors de la programmation (script), il agit comme s'il était basé sur un prototype . Les objets Tweak sont créés et exécutés dans les fenêtres de projet Tweak.
  • Une interface modèle-vue-contrôleur (MVC) était l'interface utilisateur principale dans les versions Squeak 3.8 et antérieures. Il est dérivé du framework d'interface utilisateur original Smalltalk-80 qui a d'abord introduit et popularisé le modèle architectural MVC. MVC tire son nom des trois classes de base du framework. Ainsi, le terme « MVC » dans le contexte de Squeak fait référence à la fois à l'un des cadres d'interface utilisateur disponibles et au modèle suivi par le cadre. MVC est toujours fourni aux programmeurs qui souhaitent utiliser ce type d'interface plus ancien.

Les usages

De nombreux contributeurs de Squeak collaborent sur Open Cobalt , un navigateur de monde virtuel gratuit et open source et une boîte à outils de construction construits sur Squeak.

La première version de Scratch a été implémentée dans Squeak.

OpenQwaq , un système de conférence et de collaboration virtuelle, est basé sur Squeak.

Squeak est également utilisé dans le système d'exploitation Nintendo ES

Licence

Squeak 4.0 et versions ultérieures peuvent être téléchargés gratuitement, y compris le code source, en tant qu'image de machine virtuelle préconstruite sous licence MIT , à l'exception d'une partie du code Apple d'origine, qui est régi par la licence Apache .

Squeak a été initialement publié par Apple sous sa propre licence Squeak . Alors que le code source était disponible et la modification autorisée, la licence Squeak contenait une clause d'indemnisation qui l'empêchait de se qualifier comme un véritable logiciel libre et open source .

En 2006, Apple a reconduit Squeak à deux reprises. Tout d'abord, en mai, Apple a utilisé sa propre licence de source publique Apple , qui satisfait le concept de licence de logiciel libre de la Free Software Foundation et a obtenu l'approbation officielle de l' Open Source Initiative en tant que licence open source. Cependant, la licence de source publique Apple ne se conforme pas aux directives du logiciel libre Debian . Pour permettre l'inclusion d' Etoys dans le projet One Laptop Per Child , un deuxième renouvellement de licence a été entrepris en utilisant la licence Apache. À ce stade, un effort a également été fait pour résoudre le problème du code fourni par les membres de la communauté Squeak, qu'il n'était pas dans le pouvoir d'Apple de réattribuer unilatéralement.

Pour chaque contribution faite sous la licence Squeak depuis 1996, une déclaration de renouvellement de licence a été obtenue autorisant la distribution sous la licence MIT , et enfin en mars 2010, le résultat final a été publié sous le nom de Squeak 4.0, désormais sous les licences combinées MIT et Apache.

Squeak machine virtuelle

La machine virtuelle Squeak est une famille de machines virtuelles (VM) utilisées dans les implémentations du langage de programmation Smalltalk . Ils sont une partie essentielle de toute implémentation Smalltalk. Tous sont des logiciels open source . La VM actuelle est un système de traduction dynamique hautes performances. Le code pertinent est conservé dans le référentiel OpenSmalltalk/opensmalltalk-vm sur GitHub.

Autres machines virtuelles Squeak

Voir également

Les références

Liens externes