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

    Ubuntu 24.10 bude Oracular Oriole (věštecká žluva).

    Ladislav Hagara | Komentářů: 1
    dnes 20:22 | Nová verze

    Byla vydána nová verze 2.45.0 distribuovaného systému správy verzí Git. Přispělo 96 vývojářů, z toho 38 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání. Vypíchnout lze počáteční podporu repozitářů, ve kterých lze používat SHA-1 i SHA-256.

    Ladislav Hagara | Komentářů: 0
    dnes 13:33 | IT novinky

    Před 25 lety, ve čtvrtek 29. dubna 1999, byla spuštěna služba "Úschovna".

    Ladislav Hagara | Komentářů: 0
    dnes 01:00 | Nová verze

    Byla vydána nová verze 24.04.28 s kódovým názvem Time After Time svobodného multiplatformního video editoru Shotcut (Wikipedie) a nová verze 7.24.0 souvisejícího frameworku MLT Multimedia Framework. Nejnovější Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    včera 16:33 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 03:22 | Zajímavý článek

    V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …

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

    Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.

    Ladislav Hagara | Komentářů: 7
    27.4. 17:44 | Nová verze

    Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    26.4. 17:11 | Nová verze

    Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.

    Ladislav Hagara | Komentářů: 12
    26.4. 13:33 | Nová verze

    Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.

    Pavel Křivánek | Komentářů: 9
    KDE Plasma 6
     (75%)
     (8%)
     (2%)
     (15%)
    Celkem 882 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    SqueakOnJava

    13.7.2007 22:57 | Přečteno: 1063× | Výběrový blog

    Je to už nějaký čas, kdy Dan Ingalls zveřejnil demonstrační verzi svého malého projeku SqueakOnJava, což je implementace smalltalkovského virtuálního stroje v Javě. Bohužel od té doby se nedostal ke zveřejnění zdrojových kódů.

    Protože se nezdá, že by k jejich zveřejnění mělo brzy dojít, zkusil jsem využít jedné z pozitivních vlastností Javy, kterou zdědila po Smalltalku - čitelný dekompilovaný kód. Binární třídy jsem tedy prohnal programem jad.

    Původně jsem měl za to, že Dan vytvořil translator Smalltalku na Javu a nechal kód interpretu vygenerovat podobně, jako se to dělá pro jazyk C. Alespoň se jsem tak odvozoval od nijak oslňující rychlosti výsledného virtuálního stroje. SqueakOnJava je ale zcela samostatná implementace od nuly. Narozdíl od JPythonu, JRuby apod. nepoužívá překlad přímo do bytekódu Javy, ale smalltalkovský bytekód jednoduše interpretuje.

    Samotný výstup z jadu není sice dokonalý (neumí si dobře poradit např. se zanořenými třídami či návěstími), ale úprav skutečně mnoho nepotřebuje. Celý tento virtuální stroj má cca 5500 řádků dobře čitelného kódu. Současná implementace má ještě řadu nedostatků. Neumí ukládat image, má problémy se čtením image s jiným endianem, implementuje minimum primitiv apod. Ovšem k puštění a provozování malé MVC image postačuje.

    Krom toho, že to jednoho zarytého smalltalkera přinutilo zase jednou pustit Netbeans, to zatím k ničemu užitečnému asi dobré není, ale minimálně pro případ, kdy potřebujete provozovat Smalltalk někde, kde nelze nainstalovat nativní virtuální stroj, to může být v budoucnu dobrý pomocník.

    Download: SqueakOnJava.zip

           

    Hodnocení: 90 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    14.7.2007 11:44 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
    Rozbalit Rozbalit vše Re: SqueakOnJava
    Možnost dekompilace není vlastností Javy, ale vlastností s JDK dodávaného překladače javac. Dá se jednoduše zajistit, abyste z bytekódu nepřečetl zpětně nic, pouze samotné instrukce.
    alblaho avatar 14.7.2007 22:22 alblaho | skóre: 17 | blog: alblog
    Rozbalit Rozbalit vše Re: SqueakOnJava
    Ne, bytecode jde zpět na javu relativně dobře (oproti překladu z assembleru do céčka). Začíná to tím, že každá třída je uložena v extra souboru. Veřejná rozhraní jsou čitelná, pač jsou přístupná přes i reflexi. Takže jediné, co nejde dohledat jsou názvy lokálních proměnných.

    Tedy pokud se nepoužije obfuskátor, ale jeho použití bych od zastánce ST nečekal :-)
    14.7.2007 13:22 Pavel Křivánek | skóre: 29 | blog: Kvičet nezávaznou konverzaci
    Rozbalit Rozbalit vše Re: SqueakOnJava

    nejnovější Ingallsův vynález ;-)

    http://www.youtube.com/watch?v=Rj4moeKDGY4

    I'm sure it crashed in the most type-safe way possible.
    alblaho avatar 14.7.2007 22:26 alblaho | skóre: 17 | blog: alblog
    Rozbalit Rozbalit vše Re: SqueakOnJava
    JRuby nepřekládá do java bytecode. Ruby totiž ani žádný bytecode nemám, originální interpreter interpretuje AST.

    JPython (Jython?) si myslím je taky jen reimplementace CPythonu v Javě.
    15.7.2007 01:05 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: SqueakOnJava
    JRuby nepřekládá do java bytecode.
    Zatím. Ale chtějí to, bohopytelně z výkonových důvodů.
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    alblaho avatar 15.7.2007 19:00 alblaho | skóre: 17 | blog: alblog
    Rozbalit Rozbalit vše Re: SqueakOnJava
    Existuje nějaký akademický překladač Ruby do CIL, ale je to dost zběsilé. Znamená to generovat hromadu CIL tříd pro kde co, moc se mi to nelíbilo.

    Založit nové vláknoNahoru

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