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

Odebírat
Upozornit na
guest
9 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
Zobrazit všechny komentáře
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ě.

Cesta URL: co se děje, než se načte webová stránka

Když do adresního řádku prohlížeče napíšete webovou adresu a stisknete Enter, spustí se fascinující řetězec procesů, které propojují váš počítač s celým světem. Od překladu doménového jména na IP adresu, přes navázání šifrovaného spojení, až po vykreslení každého pixelu na obrazovce - to všechno se odehraje během zlomků sekundy. Pojďme se podívat, co se mezitím děje pod kapotou webu.

Stav SIMD v Rustu v roce 2025

Různé
Komentáře: 1
SIMD - neboli Single Instruction, Multiple Data - znamená, že procesor může jednou instrukcí zpracovat více datových prvků najednou. Typicky to znamená, že místo sčítání dvou čísel přičtete dvě sady čísel paralelně. To může přinést výrazné zrychlení například při zpracování obrazu, audia nebo numerických výpočtů. Pokud již SIMD znáte, tato tabulka je vše, co budete potřebovat. A pokud s SIMD teprve začínáte, tabulku pochopíte do konce tohoto článku