Squeak
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 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 sviluppatoriDan 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 utenteSqueak include quattro framework di interfaccia utente:
UsiMolti collaboratori di Squeak collaborano su Open Cobalt, un browser virtuale libero e open source e un toolkit di costruzione che si basa su Squeak. La prima versione di Scratch fu implementata in Squeak.[7] Squeak viene utilizzato anche nel sistema operativo Nintendo ES.[8] Il sistema di conferenza e collaborazione OpenQwaq è basato su Squeak.[9] LicenzaSqueak 4.0 e versioni successive possono essere scaricate senza alcun costo, compreso il codice sorgente, come un'immagine di una macchina virtuale 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 propria licenza denominata licenza Squeak. Mentre il codice sorgente era disponibile e le modifiche erano consentite, la licenza Squeak conteneva una clausola di indennizzo che impediva di qualificarsi come un vero software libero e open source. Nel 2006, Apple ha cambiato licenza due volte a Squeak. In primo luogo, nel mese di maggio, Apple ha utilizzato la propria Apple Public Source License, che soddisfa il concetto di Free Software License della Free Software Foundation[10] e ha ottenuto l'approvazione ufficiale dell'Open Source Initiative[11] come licenza open source. La Apple Public Source License, come risulta, non riesce a superare il terzo standard che le licenze Free e Open Source Software sono tenute a rispettare: 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 è stato eseguito un secondo cambio di licenza utilizzando la licenza Apache. A questo punto è stato anche fatto uno sforzo per affrontare la questione del codice contribuito dai membri della comunità di Squeak, visto che non era nel potere di Apple di effettuare il cambio di licenza unilateralmente. Per ogni contributo concesso sotto la licenza Squeak dal 1996, è stata ottenuta una dichiarazione di cambio di licenza 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.[12] Macchina virtuale SqueakLa macchina virtuale Squeak è una famiglia di macchine virtuali (VM) utilizzate nelle implementazioni del linguaggio di programmazione Smalltalk.[2] Esse sono una parte essenziale di una qualsiasi implementazione di Smalltalk. Tutte sono Software open source. L'attuale VM è un sistema di traduzione dinamico ad alte prestazioni. Il codice pertinente viene mantenuto presso il repository OpenSmalltalk su GitHub.[13] Note
Altri progetti
Collegamenti esterni
|
Portal di Ensiklopedia Dunia