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ář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 Stanfordově univerzitě v teamu Craig Chambers, Urs Hölzle, Ole Agesen, Elgin Lee, Bay-Wei Chang, a David Ungarhttps://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. V té době byly vytvořeny první verze kompilátoru a také grafického rozhraní postaveného na frameworku Morphichttp://wiki.c2.com/?MorphicInterface.
V roce 1991 byl vývoj přenesen pod Sun Microsystems, kde bylo vydáno několik verzí až po prominentní verzi 4.0https://web.archive.org/web/20000815210458/http://www.sun.com/research/self/release/release.html v roce 1995https://web.archive.org/web/20010825115124/http://www.sun.com/research/self/release/major-changes.html. Také tehdy probíhaly práce na jednom z prvních JIT (Just In Time) kompilátorůhttp://merlintec.com/old-self-interest/msg01011.html, díky kterým se povedlo Self optimalizovat do té míry, že dosahoval výkonu přibližně poloviny optimalizovaného kódu Chttp://www.merlintec.com/old-self-interest/msg00006.html. V té době byl také v Selfu implementován interpreter Smalltalku běžící rychleji než tehdejší kompilované verzehttp://www.merlintec.com/download/mario.pdf část 5, strana 12.
Poté se Sun rozhodl Self dále nepodporovathttps://news.ycombinator.com/item?id=14409088#unv_14415379 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.4https://github.com/russellallen/self/releases, která jako první oficiálně nativně podporovala Linux. Poslední verze je 2017.1 vydaná v květnu roku 2017.
Související články Pharo Smalltalk
Externí odkazy Prostředí a programovací jazyk Selfu Oficiální stránky
Reference
Kategorie:Programovací jazyky Kategorie:Vývojová prostředí Kategorie:Objektově orientované programovací jazyky Kategorie:Software pod licencí BSD