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 01:33 | Komunita

    Vojtěch Polášek představil Vojtux, tj. linuxovou distribuci pro zrakově postižené uživatele. Vychází ze spinu Fedory 43 s desktopovým prostředím MATE. Konečným cílem je, aby žádný Vojtux nebyl potřeba a požadovaná vylepšení se dostala do upstreamu.

    Ladislav Hagara | Komentářů: 4
    dnes 00:33 | Nová verze

    Byla vydána (Mastodon, 𝕏) druhá RC verze GIMPu 3.2. Přehled novinek v oznámení o vydání. Podrobně v souboru NEWS na GitLabu.

    Ladislav Hagara | Komentářů: 0
    včera 15:22 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 160 (pdf).

    Ladislav Hagara | Komentářů: 0
    včera 14:11 | IT novinky

    Izrael od února zakáže dětem používat v prostorách základních škol mobilní telefony. Podle agentury AFP to uvedlo izraelské ministerstvo školství, které zdůraznilo negativní dopady, které na žactvo používání telefonů má. Izrael se tímto krokem přidává k rostoucímu počtu zemí, které dětem ve vzdělávacích zařízeních přístup k telefonům omezují.

    Ladislav Hagara | Komentářů: 22
    včera 14:00 | IT novinky

    Internetová společnost Google ze skupiny Alphabet pravděpodobně dostane příští rok pokutu od Evropské komise za nedostatečné dodržování pravidel proti upřednostňování vlastních služeb a produktů ve výsledcích vyhledávání. V březnu EK obvinila Google, že ve výsledcích vyhledávání upřednostňuje na úkor konkurence vlastní služby, například Google Shopping, Google Hotels a Google Flights. Případ staví Google proti specializovaným

    … více »
    Ladislav Hagara | Komentářů: 6
    včera 12:22 | Pozvánky

    Byl oznámen program a spuštěna registrace na konferenci Prague PostgreSQL Developer Day 2026. Konference se koná 27. a 28. ledna a bude mít tři tracky s 18 přednáškami a jeden den workshopů.

    TomasVondra | Komentářů: 0
    včera 12:11 | Pozvánky

    Na webu československého síťařského setkání CSNOG 2026 je vyvěšený program, registrace a další informace k akci. CSNOG 2026 se uskuteční 21. a 22. ledna příštího roku a bude se i tentokrát konat ve Zlíně. Přednášky, kterých bude více než 30, budou opět rozdělené do tří bloků - správa sítí, legislativa a regulace a akademické projekty. Počet míst je omezený, proto kdo má zájem, měl by se registrovat co nejdříve.

    VSladek | Komentářů: 0
    14.12. 00:44 | Zajímavý článek

    Máirín Duffy a Brian Smith v článku pro Fedora Magazine ukazují použití LLM pro diagnostiku systému (Fedora Linuxu) přes Model Context Protocol od firmy Anthropic. I ukázkové výstupy v samotném článku obsahují AI vygenerované nesmysly, např. doporučení přeinstalovat balíček pomocí správce balíčků APT z Debianu místo DNF nativního na Fedoře.

    |🇵🇸 | Komentářů: 39
    13.12. 04:55 | Zajímavý software

    Projekt D7VK dospěl do verze 1.0. Jedná se o fork DXVK implementující překlad volání Direct3D 7 na Vulkan. DXVK zvládá Direct3D 8, 9, 10 a 11.

    Ladislav Hagara | Komentářů: 1
    12.12. 16:00 | Nová verze

    Byla vydána nová verze 2025.4 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení na blogu.

    Ladislav Hagara | Komentářů: 2
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (48%)
     (20%)
     (17%)
     (23%)
     (15%)
     (24%)
     (15%)
     (18%)
    Celkem 468 hlasů
     Komentářů: 19, poslední 11.12. 20:04
    Rozcestník

    Strongtalk

    29.12.2006 11:18 | Přečteno: 1268×

    V září Sun uvolnil pod BSD-like licencí již téměř zapomenutý a prakticky neudržovaný projekt Strongtalk, o čemž se objevila zmínka i zde na Abíčku. Tento krok byl přívítán velice kladně a vyvolal spoustu očekávání, protože Strongtalk si vybudoval pověst nejrychlejší existující implementace Smalltalku.

    Jeho VM je napsaná v C++ a vzhledem k tomu, že tento projekt má na svých bedrech už jeden křížek, nebylo jej možné hned zpočátku přeložit v současných nástrojích a vyžadoval velice starou verzi Visual C++ a assembleru od Borlandu. Tušíte správně, jedná se o program pro Windows.

    Naštěstí se v tomto ohledu od jeho uvolnění situace značně zlepšila. Sice si jej pod Linuxem můžeme pustit zatím jen pod Wine, ale alespoň již jde přeložit pod nejnovějším volně dostupným VisualStudiem Express a přeložit by měl jít i pod MinGW. GUI Strongtalku je vytvořeno pomocí přímých volání API přes dynamické knihovny Windows, ale se i tak snad dočkáme nativního portu.

    Na Strongtalk jsem se podíval poměrně důkladně a rád bych se zde podělil o svoje dojmy z toho zajímavého Smalltalku. Ač jeho praktické využití je zatím spíše utopie, má celou řadu zajímavých vlastností, které rozhodně stojí za zmínku

    Statická typová kontrola

    Jak už samotný název napovídá, Strongtalk je Smalltalk se silnou statickou typovou kontrolou. Myšlenka zavést statickou typovou kontrolu do Smalltalku je hodně kacířská, ale kupodivu celkem funkční a prakticky použitelná. Strongtalk kvůli tomu musel zavést několik rozšíření jazyka, ovšem udělal to velice citlivě. Důležité je, že tato typvá kontrola je volitelná. To znamená, že ve Strongtalku je možné psát naprosto běžný Smalltalkovský kód bez deklarování typů proměnných, argumentů a návratových hodnot. Navíc tento kód není o nic pomalejší než typovaný. Programátor tak může velice rychle vytvořit dynamicky typovaný prototyp aplikace, u níž případně později doladí informace o typech a opraví související chyby.

    Další rozšíření

    Kromě rozšíření, která přímo souvisí s typovou kontrolou (protokoly apod.), Strongtalk narozdíl od Smalltalku-80 podporuje tzv. mixins. Strongtalk většinou vytváří třídy slepování mixinů dohromady. Celý jeho přístup k práci s třídami se dost liší a například nepodporuje instanční proměnné metatříd, které je nutno nahrazovat globálními proměnnými. Díky tomu je i jeho standardní hierarchie tříd dost odlišná od běžné Smalltalkovské a je díky mixinům kvalitnější.

    Image

    Dost zásadní rozdíl oproti klasickým Smalltalkům je v práci s image. Strongtalk totiž ukládá pouze deklarativní informace o programu, tedy program samotný. Oproti běžným Smalltalkům neukládá do image jiné existující objekty. Strongtalk má díky tomu opravdový vstupní bod do programu, nemá inicializační seznamy tříd a samotné ukládání a nahrávání image si řeší převážně na úrovni image samotné.

    Tento přístup je poměrně kontroverzní a rozhodně zde nebudu soudit, jestli se jedná o vylepšení či degeneraci Smalltalku. Má totiž svá negativa i pozitiva, která se projeví až při práci na konkrétním projektu. Obecně lze říci, že je bližší mainstreamovému chápání programů a tak asi může leckomu vyhovovat více.

    Omezení

    Oproti výše uvedeným rozdílům oproti Smalltalku-80, která lze většinou chápat spíše pozitivně, má současný Strongtalk některá nepříjemná omezení. Na nich je vidět, že Strongtalk se od chvíle, kdy se od něj Sun macešsky odvrátil ve prospěch Javy, příliš nevyvíjel a ujel mu vlak.

    Strongtalk používá zastaralý způsob inicializace instancí, které se konstruktorem new automaticky neinicializují a překonvertovat image mi dalo hodně práce.

    Zásadní omezení se týká práce s aktivním kontextem a zásobníkem, k nimž nemá Strongtalk přímý přístup. Strongtalk používá nativní vlákna a k informacím zásobníku se lze dostat jen v okamžiku suspendování vlákna. V zásobníku se nelze pohybovat a informace, které se dají o jednotlivých úrovních zanoření získat, jsou značně limitované. Díky tomu je prakticky nemožné vytvořit kvalitní debugger.

    Problém, který s tím úzce souvisí, jsou výjimky. Strongtalk běžné výjimky bouhužel nepodporuje. Jediná možnost, kterou má, je vyvolání nelokálního návratu, který vede k ukončení postiženého vlákna. Při tom má jedinou možnost vykonání opravného kódu a to pomocí zprávy ensure:, která však nemá možnost lokální návrat zastavit.

    Pomocí speciálního procesu, který umožní získat informace o zásobníku a drobné opravy virtuálního stroje se mi sice podařilo výjimky částečně implementovat, ale k dokonalosti to má ještě hodně daleko.

    Díky velice omezené práci se zásobníkem je také v současnosti nemožné portovat do Strongtalku Seaside. Tuto podstatnou část interpretu je nutné celou přepsat a celkově ji vytvořit méně optimalizovanou (nejdůležitější operace jsou napsány přímo v assembleru), což se ale jistě negativně projeví na jeho rychlosti.

    Ne zcela dopracovaná je také například práce s velkými čísly, kde některé základní operace nejsou zatím implementovány (bez nich například nebylo možné ukládat image s metodami, které obsahovaly velká čísla, protože k nim selhávalo vytvoření hashe).

    Nyní také není možné provést rekompilaci celé image a celkově není Strongtalk zatím příliš stabilní.

    UI

    Vývojové prostředí nezastírá svojí inspiraci v jiném Sunovském projektu - Selfu. Místo smalltalkovských browserů se tak zde pracuje s outlinery. Těm sice celá řada důležitých operací s kódem chybí, ale i tak práce s nimi je celkem pohodlná.

    Strongtalk nahrazuje absenci plnohodnotné image pomocí uživatelské stránky projektu, do které si člověk může snadno vložit vlastní kód, odkazy na outlinery apod.

    Závěr

    Strongtalk je velice zajímavý projekt. Vážně pochybuji, že by se do konce roku podařilo někomu získat prémii Dana Ingallse na portování Squeaku na Strongtalkovskou VM, ale i tak by se časem mohla ze Strongtalku vyklubat zajímavá platforma - pokud jej ovšem Sun uvolněním Javy pod GPL nepohřbí podruhé.

    Strongtalk lze chápat jako pokus o hodně prakticky orientovaný Smalltalk, který úspěšně potlačuje některé vlastnosti Smalltalku, které mnozí vývojáři chápou spíše negativně, a mohl se tak pro tyto vývojáře postavit jako vice než plnohodnotná alternativa Javy. Každopádně především vývojáři zajímající se o dynamickou kompilaci a virtuální stroje by mu měli věnovat nemalou pozornost.

           

    Hodnocení: 100 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    29.12.2006 12:24 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Strongtalk
    Díky moc za článek. Že by Strongtalk otevřel cestu k pořádným jazykům i takovým primitivům, jako jsem já? ;-)
    When your hammer is C++, everything begins to look like a thumb.
    29.12.2006 16:09 Lukáš Rýdlo | skóre: 18 | blog: Silný kafe | Brno
    Rozbalit Rozbalit vše Re: Strongtalk
    Taky se přidávám s díky a chválou. Docela bych i uvítal případně nějakou sérii článků o Smalltalku, protože mě tenhle jazyk docela zaujal, ale materiálů je poskrovnu a u nás na FI se to projistotu neučí :-(.

    (Sice tam teď byla jedna přednáška Javy věnovaná Smalltalku, ale ten den jsem nemohl a bohužel nikoho nenapadlo takovou věc nahrávat...)
    θηριον ειμι
    29.12.2006 16:43 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Strongtalk
    Já nevím, ale chtít zrovna po Pavlu Křivánkovi sérii článků o Smalltalku ... ;-)
    When your hammer is C++, everything begins to look like a thumb.
    29.12.2006 17:20 Lukáš Rýdlo | skóre: 18 | blog: Silný kafe | Brno
    Rozbalit Rozbalit vše Re: Strongtalk
    Super, díky, jdu se stydět do kouta, že jsem málo googlil ;-)
    θηριον ειμι

    Založit nové vláknoNahoru

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