Dart er et optionally-typed sprog fra Google der kører på sin egen VM som server-side sprog, oversætter til JavaScript og kører i en browser, eller oversætter til native kode til mobile Apps. Det blev oprindelig skabt som en direkte konkurrent til JavaScript, med sin egen VM bygget ind i browseren. Denne ambition nåede desværre aldrig længere end en udviklingsbrowser (kaldet Dartium), da man valgte at fokusere på Dart til JavaScript oversættelse i stedet. Motivationen for at skabe et helt nyt sprog var, blandt andet, at blive i stand til at få mere ydelse ud af V8-JavaScript motoren der er indbygget i Chrome browseren, samt at have et sprog der kunne understøtte udviklingen og vedligeholdelsen af relativt store kodebaser. Dart har relativt begrænset udbredelse udenfor Google, men bliver brugt heftigt indenfor. De har blandt andet omskrevet AdSense og AdWords til at køre Dart. Man skal derfor ikke være bange for at sproget forsvinder lige med det samme.
Hvordan ser det ud
Dart er et “c-like” sprog der kan sammenlignes med Java eller C#. Den obligatoriske “Hello World” ser ud på følgende måde:
I modsætning til Java kan Dart deklarere funktioner og variable uden for klasser, så deklarationen af main kan stå alene i en fil. Dart har funktioner som “first-class citizens” og et ekstensivt collection-framework med masser af lækre funktionelle aspekter. For eksempel:
Ovenstående udtryk printer alle medlemmer, hvis navne indeholder “sen”. For eksempel Jensen, Olsen, Hansen. Collections indeholder selvfølgelig også de, efterhånden obligatoriske; map, fold, reduce metoder til transformere datasæt (Collections) i Streams.