abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 06:00 | Komunita

O víkendu probíhá v Praze na Karlově náměstí 13 konference InstallFest 2020. Na programu je celá řada zajímavých přednášek a workshopů. Přednášky lze sledovat také online. Přehled dění na Twitteru.

Ladislav Hagara | Komentářů: 2
včera 15:22 | Komunita

Daniel Vetter ve zprávě rozeslané do vícero e-mailových konferencí shrnuje situaci kolem financování služeb poskytovaných projektům Freedesktop.org, zvláště spojeným s X.Org (grafické knihovny atp.). Vzhledem k rostoucí popularitě služeb jako CI (Continuous Integration) rostou také náklady na hosting (očekávané výdaje od 75 tisíc dolarů za rok), a proto se hledá sponzor, nebo bude nutné služby v horizontu několika měsíců omezit.

Fluttershy, yay! | Komentářů: 8
včera 14:55 | Zajímavý článek

Knot DNS slaví deset let své existence. Projekt autoritativního DNS serveru Knot DNS patří mezi nejstarší projekty Laboratoří CZ.NIC. Dnes je tomu právě deset let od uložení prvotního prototypu serveru commitem 2da03d5da do veřejného repozitáře Git.

Ladislav Hagara | Komentářů: 0
včera 14:11 | Nová verze

Byla vydána nová verze 2.53.1 svobodného multiplatformního balíku internetových aplikací SeaMonkey (Wikipedie). Přehled novinek v poznámkách k vydání. Hlavní změny jsou pod kapotou. Nová hlavní verze 2.53 používá základ z Firefoxu a Thunderbirdu 60.

Ladislav Hagara | Komentářů: 0
včera 07:00 | Zajímavý software

Budou to tři roky, co Canonical ukončil vývoj mj. grafického prostředí Unity8 a souvisejících projektů jako smartphone s Ubuntu Touch. Toho se ujala komunita UBports a vedle toho vznikl fork Yunit, který již neexistuje, zatímco Unity8 se dostane do Debianu. Nebude se však jmenovat Unity8, nýbrž Lomiri, jak bylo nyní oznámeno.

Fluttershy, yay! | Komentářů: 0
včera 06:00 | Zajímavý projekt

Úrad podpredsedu vlády SR pre investície a informatizáciu vyhlásil výzvu na podporu migrácie na open source a podporu budovania inteligentných miest a regiónov. Dátum uzavretia 1. hodnotiaceho kola je 21.04.2020. Žiadatelia môžu získať od 200 000 do 1 000 000 eur.

atirage21 | Komentářů: 0
včera 05:00 | IT novinky

Otevřená certifikační autorita Let's Encrypt oznámila, že vydala již miliardu certifikátů. Při spuštění veřejné bety Let's Encrypt, v prosinci 2015, bylo celosvětově pomocí HTTPS stahováno cca 40 % webových stránek. Dnes je to 81 %. V USA dokonce 91 %. Podrobnosti na stránce se statistikami. Let's Encrypt má aktuálně 13 zaměstnanců na plný úvazek a roční rozpočet přibližně 3,35 milionu dolarů.

Ladislav Hagara | Komentářů: 8
27.2. 15:33 | Komunita

Fedora stále hledá nové logo. První návrhy byly představeny již před rokem. Designérka Fedory Máirín Duffy ukázala na Twitteru aktuální verzi a žádá uživatele o zpětnou vazbu.

Ladislav Hagara | Komentářů: 22
27.2. 13:55 | Nová verze

Android-x86, tj. port mobilního operačního systému Android na standardní PC s architekturou x86, byl vydán v nové stabilní verze 9.0-r1. Přehled novinek v oficiálním oznámení.

Ladislav Hagara | Komentářů: 20
27.2. 13:11 | Komunita

Mozilla definitivně opouští IRC. Vloni začala hledat novou veřejnou komunikační platformu. Dosud používala IRC (plus interně neveřejný Slack a po nějakou dobu i Mattermost). Nicméně IRC i servery zastarávaly a zejména použitelnost na mobilních zařízeních byla často problematická. Po zvažování a zkoušení různých alternativ se Mozilla přiklonila k otevřenému protokolu Matrix (můžete také znát referenčního klienta Riot) a na konci února IRC vypne.

Ladislav Hagara | Komentářů: 38
Vydržela vám novoroční předsevzetí?
 (11%)
 (6%)
 (3%)
 (81%)
Celkem 211 hlasů
 Komentářů: 0
Rozcestník

Pharo 7 - novinky

22.1.2019 14:55 | Přečteno: 1778× | Výběrový blog | poslední úprava: 22.1.2019 15:16

Světlo světa spatřilo Pharo 7.0, což je nová verze otevřené implementace programovacího jazyka Smalltalk. Příchází s celou řadou systémových změn, které zásadním způsobem zasahují do samotné podstaty tohoto vývojového prostředí.

Největší změnou, kterou Pharo 7 přináší, je způsob, jakým se vytváří obraz objektové paměti. Tradiční virtuální stroj Smalltalku pracuje s programy podobně, jako to dělá například VirtualBox se snapshoty virtuálních počítačů. Těmto uloženým stavům virtuálního stroje se ve se Smalltalku říká image. Když chcete spustit nějaký zdrojový kód třeba z příkazové řádky, není možné jej vzít a předhodit virtuálnímu stroji přímo ke spuštění. Je potřeba oživit obraz onoho “virtuálního počítače”, který už v sobě obsahuje inicializovaný překladač, ten si přečte argumenty z příkazové řádky, přeloží dodaný zdrojový soubor a následně ho spustí.

Po dlouhá desetiletí se Smalltalk distribuoval jako virtuální stroj a image, což je samozřejmě binární soubor. Nové verze se vytvářely tak, že se Smalltalk oživil, provedly se v něm požadované změny, znovu se uložil a distribuovala se takto upravená image. Během let se image několikrát přepsala do jiného formátu, který třeba změnil hlavičku souboru image či formát binární reprezentace uložených objektů, ale její logický obsah zůstaval stejný. A to již od roku 1976, kdy byla první image nějakým způsobem sestavena.

Vyvíjet Smalltalk je něco jako opravovat auto se spuštěným motorem a to ještě bez možnosti z toho auta vystoupit. Když navrhujete takové auto, určitě jej uděláte velice odlišné od běžné konstrukce automobilu, což je samozřejmě i případ Smalltalku. Za mnoho svých unikátních vlastností vděčí právě tomu, že s ním bylo nutné zacházet právě tímto způsobem.

Pharo 7 přináší po 43 letech opět možnost image bootstrapovat přímo ze zdrojových kódů. Je to poměrně komplikovaný proces, během něhož se používá speciálně upravený virtuální stroj se zcela prázdnou objektovou pamětí, do níž se postupně s podporou různých berliček instalují objekty. Pro kompilaci metod do bytekódů se využívá externí překladač. Na konci tohoto procesu se obraz této virtuální paměti uloží. Lze tak vyrobit například miniaturní image, která po oživení jen vypíše na konzoli obligátní “Hello world” a ukončí se.

Pharo 7 tímto způsobem bootstrapuje malou image, která je oproti Pharu 6 značně ořezaná. Neobsahuje například ani překladač. Jediný způsob, jak do ní dostat další kód a její schopnosti rozšířit, poskytuje další novinka - loader binárních balíčků jménem Hermes. Tomu se poskytne binární soubor s popisem tříd a předkompilovanými metodami, a on je nainstaluje do objektové paměti. K vytvoření takových balíčků je samozřejmě potřeba jiná image, která již kompilátor obsahuje. První věc, která se do ořezané image Phara nahraje, je překladač a jeho závislosti.

S funkčním překladačem je možné už dělat prakticky cokoliv. Pharo s jeho pomocí nahraje podporu pro balíčkovací systém a dále poskládá celý systém do rozsahu, který odpovídá funkčnímu integrovanému vývojovému prostředí. Lze samozřejmě zvolit, jaké součásti bude vytvářený systém obsahovat, takže je možné vygenerovat například image bez grafického systému pro serverové nasazení či image s GUI bez vývojářských nástrojů pro uživatelské aplikace.

Hotová image dále může používat tradiční systém ukládání ukládání, takže Pharo získává výhody obou světů. Možnost snadné úpravy základních funkčních mechanismů a reprodukovatelnost sestavení, které přináší použití čistě textových zdrojových kódů jako deklaraci obsahu image, na jedné straně, a propracovaný reflektivní systém s velmi rychlým startem na straně druhé.

S bootstrappingem ze zdrojových kódů souvisí další důležitá novinka. Pharo je nyní kompletně spravováno Gitem, přičemž hlavní repozitář je umístěn na GitHubu. Jedním z hlavních cílů nové verze bylo zdokonalit stávající nástroje a podporu Gitu tak, aby to bylo možné a pro vývojáře co nejpohodlnější. Uživatelské rozhraní nástroje Iceberg bylo kompletně přepracováno a byl vytvořen nový formát pro ukládání zdrojových textů jménem Tonel s jednou třídou na soubor, který je přátelštější k běžným externím textovým editorům (ukázka kódu) a také platformě Windows, u které má stále potíže s limitovanou délkou absolutních cest. Původní formát (FileTree) používal vlastní soubor pro každou metodu.

Velkou novinkou je úprava podpory Traits tak, aby mohly obsahovat i instanční proměnné (stateful traits). Jsou tak mnohem blíže běžným třídám a zlepšuje to jejich použitelnost. Kvůli tomu byl kompletně přepracován a zjednodušem Class builder a s ním byla přidána i možnost použití vlastních metatříd, které nová implementace traits používá. Díky tomu je podpora Traits separována do samostatné volitelné knihovny a základní image je bootstrapována bez ní. To jen dokládá flexibilitu, jakou Smalltalk poskytuje. Všechny tyto změny bylo možné provést bez jediného zásahu do kódu virtuálního stroje.

Hlavní nástroj pro procházení a úpravu kódu, systémový browser, byl vytvořen kompletně nový. Jmenuje se Calypso a nabízí výrazně lepší vnitřní architekturu, vyšší rychlost, podporu práce se vzdálenými běžícími image či statických modelů kódu. Mimo to samozřejmě i řadu drobných sympatických vylepšení jako jsou virtuální protokoly či lepší podpora vlastních rozšíření.

S novým způsobem správy kódu a novým browserem bylo možné poslat na odpočinek několik nástrojů, které již nejsou potřeba, jako je například Komitter. Stará knihovna pro proudy, která je již několik verzí považována za zastaralou, sice stále z důvodů kompatiblity zůstává, ale byla vyčištěna drtivá většina míst v základním systému, která ji stále používá. Pár tísíc commitů byly také věnovány celkovému zlepšení struktury a kvality kódu.

Velmi užitečným nástrojem přidaným do základní image je ReferenceFinder, který výrazně usnadňuje hledání úniků paměti. Pro budoucí použití byla přidána nová knihovna pro refactoring. Framework pro tvorbu uživatelských rozhraní, Spec, se dočkal několika důležitých vylepšení a snazšího napojení na modelové objekty. Na jeho nové verzi se momentálně intenzivně pracuje, ta si ale bude muset počkat až na Pharo 8. Pharo se v rámci politiky střídání motivů vrátilo k bílému vzhledu a přibyl nově systémový menubar.

Vylepšení se dočkala podpora breakpointů a nástroj Finder, který nabízí vyhledávání metod podle očekávaných výsledků. Toto hledání bylo zobecněno, takže nyní nabízí více relevantních výsledků. Virtuální stroj má nyní vylepšenou podporu 64-bitové verze Windows a zlepšena byla i podpora FFI. Zobrazování fontů je nyní řešeno místo pluginu virtuálního stroje právě pomocí FFI, což přispělo k lepší stabilitě.

S přechodem na GitHub souvisí přechod z ze systému hlášení chyb FogBugz/Manuscript právě na GitHub Issue Tracker. Manuscript je sice výrazně propracovanější, ale je k hlášení chyb je nutná registrace, což některé uživatele odrazovalo, a nedokonalá integrace se správou pull requestů na GitHubu přidávala práci.

Mimo popsaných změn přináší Pharo s novou verzí i nespočet dalších drobných oprav a vylepšení a potvrzuje svoji pověst nejdynamičtěji se rozvíjející implementace Smalltalku, která se nebojí ani revolučních změn a zlepšování otevřenosti k ostatním technologiím.

       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

22.1.2019 15:25 David80
Rozbalit Rozbalit vše Re: Pharo 7 - novinky
Gratuluji Pharu k novému release! Bootstrapping a možnost vytvářet micro-image pro IoT jsou hodně cool. Je to velký skok kupředu a nevím, jestli to dokáže nějaký jiný komerční Smalltalk. Vlastně i podpora a integrace s Gitem je paráda. Monticello sice fungovalo, ale není to mainstream.
22.1.2019 18:34 OldFrog {Ondra Nemecek} | skóre: 32 | blog: Žabákův notes | Praha
Rozbalit Rozbalit vše Re: Pharo 7 - novinky
Bude možnost spustit Pharo v single-application režimu? Myslím tím to, že by se rozhraní omezilo na jednu aplikaci, která by se automaticky spustila po spuštění Pharo? Až bude hotové Spec, mohly by se v tom začít psát aplikace, které by vypadaly skoro jako běžné desktopové aplikace...
-- OldFrog
22.1.2019 19:01 Pavel Křivánek | skóre: 28 | blog: Kvičet nezávaznou konverzaci
Rozbalit Rozbalit vše Re: Pharo 7 - novinky
Například DrGeo takový přístup používá už léta. Loni se také objevil Cruiser, což je nástroj pomáhající vyrábět takové uzamčené image.
I'm sure it crashed in the most type-safe way possible.
22.1.2019 22:17 OldFrog {Ondra Nemecek} | skóre: 32 | blog: Žabákův notes | Praha
Rozbalit Rozbalit vše Re: Pharo 7 - novinky
To vypadá zajímavě, díky.
-- OldFrog

Založit nové vláknoNahoru

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.