Portál AbcLinuxu, 30. dubna 2025 11:23
Když loni po dlouhém napínání Google zveřejnil podrobnosti o svém novém programovacím jazyce Dart, který se měl stát rychlejší alternativou k JavaScriptu, dočkal se všeobecně spíše rozpačité reakce veřejnosti.
Asi největší zklamání se ozývalo z řad programátorů ve Smalltalku, kteří vzhledem k osobnostem, kteří za vývojem Dartu stáli, doufali, že se Smalltalkem nechá hodně inspirovat či že se alespoň přes něj podaří do mainstreamu protlačit některé jeho myšlenky.
Gilad Bracha, jeden z autorů Dartu, to tenkrát komentoval slovy: "As I watched the pre-launch speculation about Dart in the Smalltalk community, I knew that disappointment would follow. That's inevitable given the amount of wishful thinking involved. And the wishful thinking is natural too, but it is very much divorced from what we can do in reality."
Zřejmě aby toto zklamání alespoň trochu zmírnili, přišli se zajímavou přednáškou An introduction to Dart for Smalltalkers. K dispozici je i video. Samozřejmě aby se z ní člověk dozvěděl něco užitečného, nemusí být zrovna smalltalker. Jsou v ní zmiňovány některé zajímavé detaily i vlastnosti, které se plánují do Dartu přidat (jako je reflexe pomocí Mirrors, kterou používá Self).
Osobně jsem Dartem nijak zvlášť nadšen nebyl. Hlavně proto, že neřeší některé problémy JavaScriptu, které považuji za palčivé (např. absence potlačitelných výjimek, kontinuací či slabých referencí). Na druhou stranu vidím prostor pro dynamicky typovaný jazyk, který by se výkonnostně vlepil někam mezi Javu a JavaScript (samozřejmě čím rychlejší, tím lepší), takže Dart příležitostně po očku sleduji.
Dnes jsem zkusil, jestli Dart tento cíl naplňuje, a nepřekvapivě ano. V krátkém testování se skutečně umístil někde napůl mezi Javou a JavaScriptem. Tedy umístil by, kdybych neudělal tu chybu a nepodíval se na výsledky nejnovější verze V8. Zjevně práce s DOM není to jediné, co se podařilo popohnat, protože, dámy a pánové, JavaScriptu se podařilo podle Shootout benchmarků zrychlit někde na 2,5 násobek doby výpočtu programu v C.
Takže závěr je, že pokud jde o rychlost, Dart vlastně zatím potřebujeme...
Tiskni
Sdílej:
Na druhou stranu vidím prostor pro dynamicky typovaný jazykPrávě dynamické typování vidím jako největší slabinu Dartu. IMO lepší by bylo, kdyby programy, jenž neprojdou 'typovou kontrolou', nešlo vůbec spouštět.
IMO to, že runtime sémantika vůbec nezávisí na typových anotacích, je naprosto geniální.Hlavně je to docela neobvyklé. Nicméně připouštím, že to je výhodné při prototypování. Na druhou stranu si myslím, že pokud dobře typované programy poběží výrazně rychleji, tak většina knihoven bude dobře typovaná.
Já bych ten typový systém teda radši trochu bohatšíS tím souhlasím. Také bych uvítal typy vyšších řádů, které mi chybí v běžných programovacích jazycích.
Na druhou stranu si myslím, že pokud dobře typované programy poběží výrazně rychleji, tak většina knihoven bude dobře typovaná.Jak jsem říkal, typové anotace nemají vliv na runtime sémantiku, takže při překladu do nativního kódu se ignorují. Výjimkou teda je překlad do JavaScriptu, tam má překladač dovoleno spoléhat na to, že uvedené typové anotace jsou správné, takže v tomhle případě to smysl má.
Má klasickou céčkovou syntaxi, aby byl snadno přístupný programátorům v Javě a JavaScriptu.Che che che
GOTO 12
<?php $mluvimeO = "céčkové syntaxi s {,},;"; k12: { echo("sebemrskaci... ale co, patri jim to\n"); echo("(vztahuje se k $mluvimeO)\n"); } echo("\n"); if ($mluvimeO == "céčkové syntaxi s {,},;") { $mluvimeO = "syntaxi založené na neviditelných znacích s "; goto k12; } ?>
Osobně jsem Dartem nijak zvlášť nadšen nebyl. Hlavně proto, že neřeší některé problémy JavaScriptu, které považuji za palčivé (např. absence potlačitelných výjimek, kontinuací či slabých referencí).To bude tím, že jedním z primárních cílů Dartu je možnost kompilace do efektivního JavaScriptu
Dnes jsem zkusil, jestli Dart tento cíl naplňuje, a nepřekvapivě ano. V krátkém testování se skutečně umístil někde napůl mezi Javou a JavaScriptem. Tedy umístil by, kdybych neudělal tu chybu a nepodíval se na výsledky nejnovější verze V8. Zjevně práce s DOM není to jediné, co se podařilo popohnat, protože, dámy a pánové, JavaScriptu se podařilo podle Shootout benchmarků zrychlit někde na 2,5 násobek doby výpočtu programu v C.Dart ještě není ani alfa verze. Pokud jde o mne, tak když Lars Bak řekl, že Dart bude výrazně rychlejší než JavaScript, nemám důvod mu nevěřit
To bude tím, že jedním z primárních cílů Dartu je možnost kompilace do efektivního JavaScriptuVím, já očekával, že Dart bude vypadat tak, jak vypadá, jen jsem byl zklamán z toho, že jsem nebyl příjemně překvapen
Dart ještě není ani alfa verze. Pokud jde o mne, tak když Lars Bak řekl, že Dart bude výrazně rychlejší než JavaScript, nemám důvod mu nevěřitPotenciál na to skutečně má, ale je potřeba počítat s tím, že druhá strana zjevně nespí
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.