Google: Dart bliver langt hurtigere end JavaScript
GOTO Copenhagen 2012 Skepsissen har været stor, de rynkede bryn har været mange.
Men skal man tro Google selv, er der masser af gode ting at se frem til, i takt med at virksomhedens nye JavaScript-konkurrent, Dart, vokser sig stærkere.
»Det er ikke trivielt at skrive store webapplikationer, der performer godt. Der er ingen statiske typer, der kan hjælpe dig. Der mangler modularitet og biblioteker,« sagde Google-udvikler Kasper Lund med et nik i retning af JavaScript ved mandagens keynote på GOTO Copenhagen 2012-konferencen, der finder sted 21.-23. maj.
Dart er kort fortalt en pendant til det populære websprog JavaScript, som er sat i verden for at rydde op i nogle af JavaScripts unoder. En af dem er den manglende typeannotering i sproget – altså muligheden for at skrive en variabels type eksplicit ind i kildekoden.
Den slags er obligatorisk i programmeringssprog som Java, men med Dart får programmøren ganske enkelt muligheden for at vælge det til eller fra.
»Det kan godt være, at det ikke er helt type safe, men det hjælper stadig programmøren med at annotere koden for at hjælpe den næste person, der skal læse koden,« sagde Kasper Lund under keynoten.
Tankegangen er at give udvikleren mulighed for at typeannottere der, hvor det giver mening, for at gøre det lettere for andre at læse og debugge kildekoden. Den slags kan være svært med JavaScript, ikke mindst ved udvikling og debugging af større webapplikationer.
Du læse mere om Darts typeannotering her:
Men selvom Google har store planer for sproget og blandt andet har lavet en Dart-til-Javascript-compiler, er sproget stadig så nyt, at det store gennembrud endnu mangler.
Som noget af det første spurgte Kasper Lund publikum om deres programmeringsvaner. Adskillige hænder blev rakt i vejret, da Google-udvikleren spurgte til, hvor mange af de tilstedeværende der skriver i Java, JavaScript og C#. Ingen blev rakt i vejret, da samme spørgsmål blev stillet om Dart.
»Det vil jeg gerne ændre,« konstaterede Kasper Lund.
Google præsenterede det nye programmeringssprog sidste efterår og modtog hurtigt hug fra webudviklere verden over, der blandt andet kritiserede Darts syntaks for at være kedelig og uinspireret. Andre kunne ikke forstå, hvorfor verden har brug for Dart, når man har JavaScript.
Af samme grund har Google gjort meget ud af, at Dart-programmer – som lige nu kun kan køres direkte på Dart VM i Googles egen Chrome-browser - skal kunne oversættes til JavaScript, så koden også kan køres i for eksempel Firefox og Internet Explorer.
»I fremtiden regner vi med, at folk skriver Dart-kode og kører den direkte på den virtuelle maskine. Men lige nu er det meget vigtigt for os, at koden kan oversættes til JavaScript,« sagde Kasper Lund.
Google arbejder i øvrigt på at forenkle den JavaScript-kode, der kommer ud i den anden ende, når Dart-kildekoden køres gennem JavaScript-oversætteren. Det forsikrede Kasper Lund en af tilhørerne i salen, som påpegede, at selv simple Dart-programmer lige nu generer alt for meget JavaScript-kode på den anden side.
Ifølge Kasper Lund, der også har været en af hovedmændene bag Googles Chromes JavaScript-motor, V8, har ydelsen af Darts virtuelle maskine topprioritet for Google.
»Dart VM kører bedre end V8 på launch-tidspunktet. Men I kan regne med, at det bliver langt hurtigere end JavaScript i fremtiden,« sagde Kasper Lund.
Du kan også læse mere om og debattere Darts muligheder for typeannotering i Version2-bloggerne Patrick Mylund Nielsens og Anne-Sofie Nielsen blogindlæg om emnet.
Version2 er mediepartner på GOTO Copenhagen 2012 og dækker konferencen.

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.
Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.
Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.
Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.