Squeak
Questa voce o sezione sull'argomento informatica è ritenuta da controllare.
|
Questa voce o sezione sull'argomento linguaggi di programmazione non cita le fonti necessarie o quelle presenti sono insufficienti.
|
Squeak linguaggio di programmazione | |
---|---|
![]() | |
Autore | Alan Kay, Dan Ingalls, Adele Goldberg |
Data di origine | 1996 |
Ultima versione | 6.0-22104 (6 giugno 2022) |
Utilizzo | linguaggio general-purpose |
Paradigmi | Programmazione procedurale ad oggetti |
Tipizzazione | debole |
Influenzato da | Self, Smalltalk, Simula, Lisp e Logo |
Implementazione di riferimento | |
Licenza | licenza MIT |
Sito web | squeak.org/ |
Il linguaggio di programmazione Squeak è un dialetto di Smalltalk. È orientato agli oggetti, basato sulle classi e con il supporto alle riflessioni.
È 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, SAP Labs 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 scritto in Squeak. Per questi motivi, è facile da portare su altre piattaforme.
Gli sviluppatori[modifica | modifica wikitesto]
Dan Ingalls, importante contributore al progetto Squeak, ha scritto il paper su cui Squeak è costruito e costruito l'architettura per cinque generazioni del linguaggio Smalltalk.[2]
Squeak comprende molti degli elementi che Alan Kay ha proposto nel concetto Dynabook, formulato negli anni '60. Kay è un importante contributore al progetto Squeak. Squeak include quattro framework di interfaccia utente:
- Un'implementazione di Morphic, l'interfaccia grafica diretta di manipolazione grafica 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 i limiti in 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[modifica | modifica wikitesto]
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[3] 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[modifica | modifica wikitesto]
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[modifica | modifica wikitesto]
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[modifica | modifica wikitesto]
- ^ Tim: Squeak Smalltalk, su rowledge.org. URL consultato il 28 febbraio 2016.
- ^ 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, su portal.acm.org, ACM Digital Library, 1997. URL consultato il 12 giugno 2011.
- ^ Inside Nintendo's ES Open-Source Operating System, su gamasutra.com, Gamasutra, 4 dicembre 2007. URL consultato il 5 dicembre 2007.
Altri progetti[modifica | modifica wikitesto]
Wikimedia Commons contiene immagini o altri file su Squeak
Collegamenti esterni[modifica | modifica wikitesto]
- Sito ufficiale, su squeak.org.
- (EN) Squeak, su GitHub.
- Repository sorgenti di Squeak, su github.com.