Self (programovací jazyk)
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.
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 |
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ářejí kontinuální systém.
Historie
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]. Také tehdy 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 kódu C[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.
Externí odkazy
Reference
V tomto článku byl použit překlad textu z článku Self na anglické Wikipedii.
- 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
- http://wiki.c2.com/?MorphicInterface
- https://web.archive.org/web/20000815210458/http://www.sun.com/research/self/release/release.html
- https://web.archive.org/web/20010825115124/http://www.sun.com/research/self/release/major-changes.html
- http://merlintec.com/old-self-interest/msg01011.html
- http://www.merlintec.com/old-self-interest/msg00006.html
- http://www.merlintec.com/download/mario.pdf část 5, strana 12
- https://news.ycombinator.com/item?id=14409088#unv_14415379
- https://github.com/russellallen/self/releases