Přejít k navigační liště

Zdroják » Zprávičky » Google Dart přichází

Google Dart přichází

Zprávičky Různé

Nálepky:

Google představil Dart, jazyk, který by měl přiblížit programování pro webový frontend znalostem programátorů, odchovaných C++/Javou. Přináší třídy, rozhraní, knihovny, typové anotace a další věci obvyklé v OOP jazycích, a svým zápisem připomíná C-like jazyky. Hello world s použitím třídy lze zapsat takto:

class HelloDartTest {
  static testMain() {
    print("Hello, Darter!");
  }
}
main() {
  HelloDartTest.testMain();
}

Překladač Dart může z tohoto kódu vytvořit JavaScriptovou reprezentaci, nebo jej může spouštět na serverovém VM.

Pokud tento kód přeložíte do JS bez dalších optimalizací, zjistíte, že výsledkem je 17259 řádků JS kódu. (Při snaze tento kód minifikovat pomocí online JS nástrojů se prohlížeč Firefox 7.0.1 po několika sekundách poroučel s hlášením o pádu – pozn.red.)

Zajímavá diskuse probíhá pod odkázaným příkladem – jednak se dozvíte, jak správně provést následné optimalizace a eliminace mrtvého kódu (výše uvedený překlad obsahuje velké množství knihovního kódu, který nebude použit), a pokud po ránu hledáte spíš rozptýlení, naleznete řadu obrázků a komentářů, které více či méně vtipně glosují číslovku 17259 („Achievment unlocked – 17259 lines Hello World“ či „Představte si, co by Dart dokázal ve 34528 řádcích? – Napsal by Hello World dvakrát!“)

Komentáře

Subscribe
Upozornit na
guest
9 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
View all comments
vlkoII

Je celkom zaujimave si prejst tie riadky okom. Samozrejme ze ten hello world je na riadku 17192, vsetko ostatne je dart framework nad js, presne v style „JavaScript is Assembly Language for the Web“ http://www.hanselman.com/blog/JavaScriptIsAssemblyLanguageForTheWebSematicMarkupIsDeadCleanVsMachinecodedHTML.aspx

Asi si na to budeme musiet zvyknut, aj ked samozrejme mohol base kod google oddelit do separatnej js kniznice a zminimalizovat ho, ale who cares?

nikdo

To je trochu nadstřelené, řekl bych. Schválně jsem si to teď zkusil. HelloWorld v C: zdroják 93 B, výsledná binárka 7131 B (bez optimalizací).

Martin Putniorz

Bohužel to výkonu moc nepomůže http://jsperf.com/dart-hello-world-test-with-optimize/9

vlkoII

Napadlo by ma prirovnanie, ze film v rozliseni 240×160 pixlov ma neporovnatelne mensiu velkost ako film vo full HD a aj tak si vacsina ludi vyberie tu druhu variantu, len neviem nakolko sa to k teme dart vs js vs real pc jazyky hodi.

Ja len dufam, ze webarchive tu moc nezafunguje, lebo nase deti v buducnosti pozerajuc 4k video sa budu sa budu z debaty o raw zdrojaku s velkostou 550k (tolko ma ten sample v skutocnosti velkost) asi riadne uchechtavat.:)

Ladislav Thon

Dart je dynamicky typovaný. Typové anotace se používají pro kontrolu (checker, devel mode) a při kompilaci do JavaScriptu (a pochopitelně jsou skvělé pro vytváření dalších nástrojů), ale jedním ze základním principů je, že jejich odstranění nemá žádný vliv na sémantiku.

PH

Konečně jazyk (po ObjC), který s typy zachází rozumně.

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.