Self (programovací jazyk)

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání
Self
Logo Selfu
Paradigma Čistě objektové prototypy
Autor David Ungar, Randall Smith
Vývojář David Ungar, Randall Smith, Stanford University, Sun Microsystems, komunita
První vydání 1987
Poslední verze 2017.1 (24. května 2017)
Typová kontrola silná, dynamická, duck-typing
Ovlivněn jazyky Smalltalk
Ovlivnil jazyky NewtonScript, JavaScript, Io, Agora, Squeak, Lisaac, Lua, Factor, Rebol
OS multiplatformní
Licence BSD podobná licence
Web www.selflanguage.org

Self je objektově orientovaný programovací jazyk, prostředí a virtuální stroj postavený kolem konceptu prototypů. Self nabízí funkcionalitu „živého“ (live) programování, které programátorovi umožňuje za běhu přímo graficky manipulovat objekty, upravovat prostředí samotné, dynamicky rekompilovat kód a také z prostředí samotného měnit část zdrojových kódů napsaných v Selfu.

Podobně jako v jazycích Smalltalkovského typu je Self postavený kolem konceptu obrazů paměti. Ten je načten po spuštění a obsahuje v sobě jak celé grafické rozhraní a vývojové prostředí, tak i všechna uživatelsky vytvořená data. Při vypnutí je tento obraz paměti tvořený z propojených objektů uložen do souboru na disku. Jednotlivé uživatelské úkony tak zůstávají zachovány a vytváří kontinuální systém.

Historie[editovat | editovat zdroj]

První verze jazyka byla navržena v roce 1986 Davidem Ungarem a Randallem B. Smithem v Xeroxu PARC, odkud vzešel mimo jiné i Smalltalk, Ethernet, laserové tiskárny a také dnešní koncept grafického uživatelského rozhraní.

Vývoj poté pokračoval od roku 1987 na Standfordské univerzitě v teamu Craig Chambers, Urs Hölzle, Ole Agesen, Elgin Lee, Bay-Wei Chang, a David Ungar[1]. V té době byly vytvořeny první verze kompilátoru a také grafického rozhraní postaveného na frameworku Morphic[2].

V roce 1991 byl vývoj přenesen pod Sun microsystems, kde bylo vydáno několik verzí až po prominentní verzi 4.0[3] v roce 1995[4]. V té době probíhaly práce na jednom z prvních JIT (Just In Time) kompilátorů[5], díky kterým se povedlo Self optimalizovat do té míry, že dosahoval výkonu přibližně poloviny optimalizovaného C kódu[6]. V té době byl také v Selfu implementován interpreter Smalltalku běžící rychleji, než tehdejší kompilované verze[7].

Poté se Sun rozhodl Self dále nepodporovat[8] a místo toho se dál věnovat Javě. To byl pro aktivní vývoj Selfu na dlouhá léta konec, na druhou stranu však došlo k přesunu vývoje pod komunitu a změnu licencování na otevřenou licenci. V roce 2010 vyšla verze 4.4[9], která jako první oficiálně nativně podporovala Linux. Poslední verze je 2017.1 vydaná v květnu roku 2017.

Reference[editovat | editovat zdroj]

V tomto článku byl použit překlad textu z článku Self na anglické Wikipedii.

  1. https://web.archive.org/web/20171128150337/http://delivery.acm.org/10.1145/1240000/1238853/supp/SELF.pdf?ip=194.228.224.108&id=1238853&acc=OPEN&key=4D4702B0C3E38B35%2E4D4702B0C3E38B35%2E4D4702B0C3E38B35%2E6D218144511F3437&CFID=742212250&CFTOKEN=73223735&__acm__=1511881686_f11138689ac77f89cbe42339f88095b8
  2. http://wiki.c2.com/?MorphicInterface
  3. https://web.archive.org/web/20000815210458/http://www.sun.com/research/self/release/release.html
  4. https://web.archive.org/web/20010825115124/http://www.sun.com/research/self/release/major-changes.html
  5. http://merlintec.com/old-self-interest/msg01011.html
  6. http://www.merlintec.com/old-self-interest/msg00006.html
  7. http://www.merlintec.com/download/mario.pdf část 5, strana 12
  8. https://news.ycombinator.com/item?id=14409088#unv_14415379
  9. https://github.com/russellallen/self/releases