Squeak

linguaggio di programmazione
Versione del 1 dic 2023 alle 04:12 di ZandDev (discussione | contributi) (recupero info mancanti dalla versione inglese parte #1)

Il linguaggio di programmazione Squeak è un dialetto di Smalltalk. È orientato agli oggetti, basato sulle classi e con il supporto alle riflessioni.

Squeak
linguaggio di programmazione
Logo originale del 1996 disegnato da Tim Rowledge[1]
AutoreAlan Kay, Dan Ingalls, Adele Goldberg
Data di origine1996
Ultima versione6.0-22104 (6 giugno 2022)
Utilizzolinguaggio general-purpose
ParadigmiProgrammazione procedurale ad oggetti
Tipizzazionedebole
Influenzato daSelf, Smalltalk, Simula, Lisp e Logo
Implementazione di riferimento
Licenzalicenza MIT
Sito websqueak.org/

È derivato direttamente da Smalltalk-80 da un gruppo nella divisione Apple Computer che includeva alcuni degli sviluppatori originali di Smalltalk-80. Il suo sviluppo è stato continuato dallo stesso gruppo a Walt Disney Imagineering, dove era destinato ad essere utilizzato nei progetti Disney interni. Successivamente il gruppo ha proseguito il lavoro con il supporto da laboratori HP Labs, SAP e più di recente Y Combinator.

Squeak è multipiattaforma, cioè i programmi prodotti su una data piattaforma funzionano senza modifiche su tutte le altre piattaforme (come Windows, Linux e macOS). Il sistema Squeak include il codice per la generazione di una nuova versione della macchina virtuale (VM) su cui è in esecuzione. Include anche un simulatore VM[2] scritto in Squeak. Per questi motivi, è facile da portare su altre piattaforme.

Gli sviluppatori

Dan Ingalls, importante contributore al progetto Squeak, ha scritto il paper su cui Squeak è basato e costruito l'architettura per cinque generazioni del linguaggio Smalltalk.[3]

Squeak comprende molti degli elementi che Alan Kay ha proposto nel concetto Dynabook, formulato negli anni '60.

Framework di interfaccia utente

Squeak include quattro framework di interfaccia utente:

  • Un'implementazione di Morphic, l'interfaccia grafica di manipolazione diretta di Self. Questa è l'interfaccia principale di Squeak.
  • Scripting di programmazione visiva basata su piastrelle in Etoys, basata su Morphic.
  • Una nuova interfaccia sperimentale chiamata Tweak. Nel 2001 è emerso che l'architettura Etoy di Squeak aveva raggiunto il limite di quanto le infrastrutture di interfaccia Morphic potrebbero fare. Il ricercatore Hewlett-Packard Andreas Raab ha proposto di definire un "processo di script" e di fornire un meccanismo di pianificazione predefinito che evita diversi problemi più generali. [4] Ciò ha determinato una nuova interfaccia utente, proposta per sostituire l'interfaccia utente Squeak Morphic in futuro. Tweak ha aggiunto meccanismi di isole, messaggistica asincrona, giocatori e costumi, estensioni di lingua, progetti e script di piastrelle. [5] Il suo oggetto di sistema è basato su classe, ma agli utenti, durante la programmazione (scripting), agisce come se fosse prototipo. Gli oggetti Tweak vengono creati e eseguiti in Windows Tweak.
  • Un'interfaccia model-view-controller (MVC) è stata l'UI primaria nelle versioni Squeak 3.8 e precedenti. È derivato dall'originale interfaccia utente Smalltalk-80 che ha introdotto e diffuso il modello architettonico MVC [6]. MVC prende il nome dalle tre classi fondamentali del framework. Quindi, il termine "MVC" nel contesto di Squeak si riferisce ad entrambi i framework disponibili dell'interfaccia utente e al modello che segue il quadro. MVC è ancora previsto per i programmatori che hanno voluto utilizzare questo vecchio tipo di interfaccia.

Usi

Molti collaboratori di Squeak collaborano su Open Cobalt, un browser virtuale libero e open source e un toolkit di costruzione che si basa su Squeak.

Squeak viene utilizzato anche nel sistema operativo Nintendo ES[4] e per implementare il linguaggio di programmazione Scratch per i programmatori iniziali. Nel maggio 2011 è stato annunciato il sistema di conferenza e collaborazione di OpenQwaq basato su Squeak, una versione open source di Teleplace, sul blog Teleplace. [8]

Licenza

Squeak 4.0 e versioni successive possono essere scaricate senza alcun costo, incluso il codice sorgente, come un'immagine di macchine virtuali pre-installata sotto licenza MIT, ad eccezione di alcuni dei codici Apple originali, che sono regolati dalla licenza Apache.

Originariamente, Apple ha effettivamente rilasciato Squeak sotto una licenza denominata licenza Squeak. Mentre il codice sorgente era disponibile e la modifica è consentita, la licenza Squeak conteneva una clausola di indennizzo che impediva di qualificarsi come vero software libero e open source.

Nel 2006, Apple ha relicensato due volte Squeak. In primo luogo, nel mese di maggio, Apple ha utilizzato la propria licenza pubblica Apple Source, che soddisfa il concetto di Free Software Foundation della Free Software Foundation [9] e ha ottenuto l'approvazione ufficiale dell'Open Source Initiative [10] come licenza Open Source. La licenza pubblica di Apple, come risulta, non riesce a superare il terzo standard che le licenze Free e Open Source Software sono detenute: le Debian Free Software Guidelines promulgate dal progetto Debian, una influente distribuzione volontaria di Linux. Per consentire l'inserimento di Etoys nel progetto One Laptop Per Child, è stata eseguita una seconda relicensing utilizzando la licenza Apache. A questo punto è stato anche fatto uno sforzo per affrontare la questione del codice contribuito dai membri della comunità Squeak, che non era nel potere di Apple di relazionarsi unilateralmente.

Per ogni contributo concesso sotto la licenza Squeak dal 1996, è stata ottenuta una dichiarazione di relicensing che autorizza la distribuzione sotto la licenza MIT e, infine, nel marzo 2010, il risultato finale è stato rilasciato come Squeak 4.0, ora sotto licenze combinate MIT e Apache [11].

Squeak macchina virtuale

La macchina virtuale Squeak è una famiglia di macchine virtuali (VM) utilizzate nelle implementazioni di linguaggio di programmazione Smalltalk. Essi sono una parte essenziale di qualsiasi implementazione Smalltalk. Tutti sono software open-source. L'attuale VM è un sistema di traduzione dinamico ad alte prestazioni. Il codice pertinente viene mantenuto su GitHub presso OpenSmalltalk www.psykoboard.com

Note

  1. ^ Tim: Squeak Smalltalk, su rowledge.org. URL consultato il 28 febbraio 2016.
  2. ^ (EN) Eliot Miranda, Clément Béra, Elisa Gonzalez Boix e Dan Ingalls, Two decades of smalltalk VM development: live VM development through simulation tools, in Proceedings of the 10th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages (PDF), 4 novembre 2018, pp. 57–66, DOI:10.1145/3281287.3281295, ISBN 978-14503-6071-5, OCLC 1159174710. URL consultato il 9 novembre 2020 (archiviato il 9 ottobre 2022).
  3. ^ (EN) Dan Ingalls, Ted Kaehler, John Maloney, Scott Wallace e Alan Kay, Back to the Future: the story of Squeak, a practical Smalltalk written in itself, in ACM SIGPLAN Notices, vol. 32, n. 10, ACM Digital Library, 1997, pp. 318–326, DOI:10.1145/263700.263754. URL consultato il 12 giugno 2011.
  4. ^ Inside Nintendo's ES Open-Source Operating System, su gamasutra.com, Gamasutra, 4 dicembre 2007. URL consultato il 5 dicembre 2007.

Altri progetti

Collegamenti esterni

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica