Scârțâie - Squeak

Chiţăit
Squeak.svg
Sigla originală din 1996 de Tim Rowledge
Captură de ecran a interfeței utilizator Morphic Squeak / Smalltalk
Captură de ecran a interfeței de utilizator Squeak Morphic.
Paradigmă orientat spre obiect
Proiectat de Alan Kay , Dan Ingalls , Adele Goldberg
Dezvoltatori Comunitatea Squeak
A apărut prima dată 1996 ; Acum 25 de ani ( 1996 )
Versiune stabila
5.3 / 4 martie 2020 ; Acum 19 luni ( 04-03-2020 )
Disciplina de tastare Dinamic
Platformă Cross-platform
OS Cross-platform : Unix-like , macOS , iOS , Windows și multe altele
Licență MIT , Apache
Extensii de nume de fișier .imagine, .modificări, .surse, .st
Site-ul web www .squeak .org
Implementări majore
Scârțâit, Croquet
Dialecte
Croquet , Newspeak (limbaj de programare) , Pharo
Influențată de
Smalltalk , Lisp , Logo ; Sketchpad , Simula ; De sine
Influențat
Etoys , Tweak, Croquet , Scratch

Squeak este un orientat pe obiect , pe bază de clasă , și reflexiv limbaj de programare . A fost derivat din Smalltalk-80 de un grup care a inclus unii dintre dezvoltatorii originali ai Smalltalk-80, inițial la Apple Computer , apoi la Walt Disney Imagineering , unde a fost destinat utilizării în proiecte interne Disney. Grupul va continua să fie susținut de laboratoarele HP , SAP și, mai recent, Y Combinator .

Squeak rulează pe o mașină virtuală (VM), permițând un grad ridicat de portabilitate. Sistemul Squeak include cod pentru generarea unei noi versiuni a VM pe care rulează, împreună cu un simulator VM scris în Squeak.

Dezvoltatori

Dan Ingalls , un important contribuitor la proiectul Squeak, a scris lucrarea pe care este construit Squeak și a construit arhitectura pentru cinci generații ale limbajului Smalltalk.

Alan Kay este un contribuitor important la proiectul Squeak, iar Squeak încorporează multe elemente ale conceptului său propus Dynabook .

Cadrele de interfață utilizator

Squeak include patru cadre de interfață utilizator :

  • O implementare a cadrului de interfață grafică de manipulare directă a lui Morphic , Self . Aceasta este interfața principală a lui Squeak.
  • Scripturi de programare vizuală limitată pe plăci , în Etoys , bazate pe Morphic.
  • O interfață nouă, experimentală numită Tweak . În 2001 a devenit clar că arhitectura Etoy din Squeak și-a atins limitele în ceea ce ar putea face infrastructura interfeței Morphic. Cercetătorul Hewlett-Packard, Andreas Raab, a propus definirea unui „proces de script” și furnizarea unui mecanism implicit de planificare care să evite câteva probleme mai generale. Acest lucru a dus la o nouă interfață cu utilizatorul, propusă pentru a înlocui interfața Squeak Morphic în viitor. Tweak a adăugat mecanisme de insule, mesaje asincrone, jucători și costume, extensii de limbaj, proiecte și scripturi de țiglă. Sistemul său de obiecte de bază este bazat pe clase, dar pentru utilizatori, în timpul programării (scripting), acționează ca și cum ar fi bazat pe prototip . Obiectele Tweak sunt create și rulate în ferestrele proiectului Tweak.
  • O interfață model-vizualizare-controler (MVC) a fost UI primară în versiunile Squeak 3.8 și anterioare. A derivat din cadrul original al interfeței de utilizator Smalltalk-80 care a introdus și popularizat mai întâi modelul arhitectural MVC. MVC își ia numele din cele trei clase de bază ale cadrului. Astfel, termenul „MVC” în contextul Squeak se referă atât la unul dintre cadrele de interfață utilizator disponibile, cât și la modelul urmat de cadrul respectiv. MVC este încă disponibil pentru programatorii care doreau să utilizeze acest tip mai vechi de interfață.

Utilizări

Mulți colaboratori Squeak colaborează la Open Cobalt , un browser gratuit și open source pentru lumea virtuală și un set de instrumente de construcție construit pe Squeak.

Prima versiune a Scratch a fost implementată în Squeak.

OpenQwaq , un sistem virtual de conferințe și colaborări, se bazează pe Squeak.

Squeak este, de asemenea, utilizat în sistemul de operare Nintendo ES

Licență

Squeak 4.0 și versiunile ulterioare pot fi descărcate fără costuri, inclusiv codul sursă, ca o imagine a mașinii virtuale pre-construite licențiate sub licența MIT , cu excepția unora din codul original Apple, care este guvernat de licența Apache .

Squeak a fost lansat inițial de Apple sub propria licență Squeak . În timp ce codul sursă era disponibil și modificările permise, Licența Squeak conținea o clauză de despăgubire care îl împiedica să se califice drept adevărat software gratuit și open-source .

În 2006, Apple a renunțat la Squeak de două ori. Mai întâi, în luna mai, Apple a folosit propria sa licență de sursă publică Apple , care îndeplinește conceptul Free Software Foundation de licență de software liber și a obținut aprobarea oficială de la Open Source Initiative ca licență Open Source. Cu toate acestea, licența sursă publică Apple nu este conformă cu Ghidul Debian pentru software liber . Pentru a permite includerea Etoys în proiectul One Laptop per Child , a fost efectuată o a doua licențiere folosind licența Apache. În acest moment, s-a depus și un efort de a aborda problema codului contribuit de membrii comunității Squeak, care nu era în puterea Apple să renunțe unilateral.

Pentru fiecare contribuție făcută în baza Licenței Squeak începând din 1996, a fost obținută o declarație de autorizare care autorizează distribuirea sub licența MIT și, în cele din urmă, în martie 2010, rezultatul final a fost lansat sub numele de Squeak 4.0, acum sub licențe combinate MIT și Apache.

Scârțâie mașină virtuală

Mașina virtuală Squeak este o familie de mașini virtuale (VM) utilizate în implementările de limbaj de programare Smalltalk . Acestea sunt o parte esențială a oricărei implementări Smalltalk. Toate sunt software open-source . VM-ul actual este un sistem de traducere dinamic de înaltă performanță. Codul relevant este păstrat în depozitul OpenSmalltalk / opensmalltalk-vm de pe GitHub.

Alte mașini virtuale Squeak

Vezi si

Referințe

linkuri externe