Dansk Google-udvikler: Derfor er Dart bedre end Javascript til store web-apps
Trænger denne verden til et nyt programmeringssprog, der erstatter det så berømte Javascript, til udvikling af store web-applikationer?
Ja, mener Google, der i efteråret 2011 sendte et bud på netop sådan et sprog på gaden med navnet Dart.
Dart er udviklet af Googles danske udviklingsafdeling i Aarhus, som også står bag browseren Chromes Javascript-motor, V8.
Formålet med sproget er rydde ud i nogle af de problemer, der indimellem gør Javascript mindre velegnet til udvikling af store webapplikationer. Den slags, der skal erstatte de programmer, der tidligere har hørt til på harddisken på en pc.
»En stor del af den funktionalitet, man er vant til at have på desktop-pc'en, flytter nu ud i cloud'en. Men hidtil har man været tvunget til at udvikle i et sprog (Javascript, red.), som ikke er designet til at udvikle store webapplikationer, der kan konkurrere med dem, vi kender fra desktoppen,« siger softwareudvikler hos Google, Kasper Lund, til Version2.
Dart er dog ikke kommet på gaden uden at møde kritik.
Den har blandt andet gået på, at det virker meningsløst at lancere et nyt sprog som alternativ til Javascript, hvis ikke de store browserproducenter som Microsoft og Mozilla har tænkt sig at understøtte sproget.
Sprogets syntaks er også blevet kritiseret for at være for lidt nyskabende og for Java-inspireret.
Men samtidig finder man dog også fortalere for Dart, der roser sprogets ambition om at være et bedre Javascript end Javascript til udvikling af store webapplikationer.
For netop her har Javascript ofte sin allerstørste akilleshæl, mener Google.
Ifølge Kasper Lund har Javascript populært sagt for let ved at tilgive fejl fra programmørens side. Og det kan gøre det svært at holde koden i stramme tøjler, når kodebasen svulmer op under store projekter.
»Det helt basale eksempel er der, hvor udvikleren laver en slåfejl og skriver navnet på en variabel forkert. I Dart får du feedback med det samme, mens det i Javascript først får konsekvenser langt senere,« siger Kasper Lund.
De danske Google-udviklere har kort fortalt skabt Dart som en mellemting mellem de gammeldags, statisk oversatte og stærkt typede sprog com C og C++ og nyere dynamiske og svagt typede sprog som Javascript.
Det betyder blandt andet, at udvikleren får stillet værktøjer til statisk kodeanalyse til rådighed under udviklingen af Dart-programmer. Dermed kan potentielle problemer opdages og rettes før afviklingstidspunktet.
Men Dart arbejder også med såkaldt optionel typeannotering, som giver udvikleren mulighed for at annotere kildekoden med typer.
»Nogle gange er typen så oplagt, at man ikke gider at skrive den på i kildekoden. Men andre gange kan det være vigtigt at skrive typerne ind som en checkbar dokumentation, der hjælper andre programmører, når de skal læse koden,« siger Kasper Lund.
Det lyder som en blanding af gammeldags, statiske sprog og nye dynamiske sprog. Kan I forstå, at der er programmører i hver deres grøft, der kritiserer Dart for ikke rigtigt at være nogen af delene?
»Det er vigtigt for os, at vi finder en god mellemting mellem de statiske og stringente sprog, som meget ofte er besværlige at arbejde med, og så den anden grøft med Javascript, som i virkeligheden tillader alting. Så vi har valgt en pragmatisk tilgang, som gør, at du stadig har fornemmelsen af et letvægtsprogrammeringssprog, men med nogle af de værktøjer, som giver dig en bedre fornemmelse af, hvordan programmer opfører sig, når det kører,« siger Kasper Lund til Version2.
Ingen nyskabende syntaks
Kritikken af sprogets syntaks er ikke gået Google forbi. Men udviklerne i Aarhus har heller ikke haft nogen trang til at opfinde den dybe tallerken, fortæller Kasper Lund.
»Folk sagde 'det er da en kedelig syntaks', da vi lancerede Dart. Men det er vi faktisk meget godt tilfredse med. På syntaksniveau skal sproget ikke være nyskabende, men løse nogle basale problemer. Målet er at tillade folk hurtigt at skrive applikationer, som kan skalere og danne grundlaget for de næste rykind af webapplikationer,« siger han.
Til kritikken om, de store konkurrerende browsere ikke understøtter Dart, siger Kasper Lund:
»Svaret er, at Dart kan oversættes til Javascript, der kan køre i samtlige moderne browsere. Det er altid svært at få folk til at bruge noget, som ikke er bredt tilgængeligt, men det er jo et spørgsmål om hønen og ægget.«
Kasper Lund fortæller mere om Dart til udviklerkonferencen Goto i København 21.-23. maj 2012.
»Det er altid spændende at lancere et nyt programmeringssprog, og tanken med at holde et oplæg om Dart er at give folk et indblik i, hvordan fremtidens applikationsplatform tager sig ud ifølge Google. Men vi gør det også for at få feedback fra den voksende skare af Dart-entusiaster, som vi lærer meget af,« siger Kasper Lund til Version2.
Dart er et open source-projekt, og den virtuelle maskine bag - Dart VM - er udviklet i C++.
Version2 er mediepartner på udviklerkonferencen Goto Copenhagen 2012, hvor du kan høre Kasper Lund og en lang række andre spændende talere. Konferencen finder sted i København 21.-23. maj 2012, og du kan læse mere og melde dig til her.

...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.