Google forsøger sig med endnu et programmeringssprog

Sidste år til GOTO-konferencen havde Google en interessant keynote om programmeringssproget Go og i aftes kom det så frem at åbningskeynoten på dette års GOTO også er Google der præsenterer et nyt programmeringssprog Dart. Der er endnu ikke så mange detaljer på bordet, men keynoten hedder "Dart, a new programming language for structured web programming". (1)

... Struktureret webprogrammering... hvad kan det betyde? Hvilken type sprog passer ind i Googles forretning? Hvilken type sprog er ikke dækket godt i forvejen? Hvem har arbejdet på Dart og hvad kan de? Spørgsmålene er mange og jeg kan ikke lade være med at være nysgerrig.

Første spor kan måske udledes af at keynoten afholdes af Gilad Bracha (Newspeak-ophavsmand) og Lars Bak fra Google i Aarhus (Virtuel maskine guru bag V8-teamet)... Jeg kender dem ikke godt, men kan konstatere ud fra deres bio at begge har arbejdet en del med OO, Java og Strongtalk (og at BETA-sproget bliver nævnt).

Andet spor kan måske findes i at det er Google, der er arnested. Måske et sprog der kompilerer til Javascript? Hvis man læser Gilad Brachas blog virker det i hvert fald som noget han tror på, og Lars Bak passer godt ind i det puslespil.

Et hurtigt kig på Gilads twitterkonto og blog viser også interesse for Actor-modellen fra sprog som Erlang og Scala, hvilket kunne tyde på et multi-paradigmesprog, men det kan også være et røgslør - Gilad interesserer sig for programmeringssprog generelt.

Serverside eller klientside - eller begge dele? Bliver det et dynamisk sprog? Spørgsmålene er mange - find selv på flere og gæt med.

Hvad tror du Dart er?

(1) Hvorfor kan Googles folk ikke vælge nogle mere søgbare navne til deres projekter... Go og Dart; kom nu Google - jeres kernekompetence er søgning, for pokker!...

Kommentarer (10)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
#1 Torben Mogensen Blogger

Mit bud er, at det bliver et sprog, hvor man koder klientsiden og serversiden i samme program, og oversætteren derefter genererer Javascript til klientsiden og noget andet (Java, C eller noget helt tredje) til serversiden.

  • 3
  • 0
#2 Jesper S. Møller

Endnu et gæt: Det kommer til at kunne fungere som et "ikke-Java" kompatibelt alternativ til Java på Android og App Engine, men hvis man alligevel på sourceniveau kan krydsoversætte al Javakode til Dart?

"Dart - the un-Java"

Bare et gæt, selvfølgelig.

  • 3
  • 0
#4 Deleted User

Tænk hvis det er lykkedes dem at lave et ordentligt multiplatform sprog hvor man rent faktisk kan regne med at når koden virker på en platform så gør den også på den anden, som samtidig er gedigent hurtigt og kører i en klippesikker sandkasse.

Måske kommer det med en oversætter som kan konvertere et subset til JavaScript, men rigtig fedt bliver det jo først når browserne understøtter sproget selv og vi ikke længere er bundet til dette besnærende mellemled.

  • 2
  • 0
#5 Jesper Jarlskov

En kombination af Torben og Jespers gæt, måske. Et sprog til at lave både server- og client-side programmer, med henblik på at lave web apps der vil kunne fungere på flere platfore: desktop, chrome OS, Android, uden at udvikleren skal tage så meget højde for platform, skærmstørrelse og hvilke HTML5-teknologier der er tilgængelige.

  • 2
  • 0
#6 Lars Tørnes Hansen

Darts implenmentation kunne være det der hedder en soure-source translator.

Ca. ligesom dengang Bjarne Stoustrup lavede en oversætter der oversætter fra "C with classes" til C. Det er nok kendt viden for de fleste at den oversætter Bjarne lavede hed Cfront: http://en.wikipedia.org/wiki/Cfront

Det er betydeligt nemmere at oversætte fra en kildekode til en anden kildekode, end at oversætte fra kildekode til bytecode/maskinkode.

Som Jesper Jarlskov nævner kan der være flere slags backends, og en backend er egentlig ikke begrænset til kun at smide kun 1 slags kildekode ud: PHP+HTML5+CSS3+Javascript kunne være det en backend smider ud. En anden oplagt backend laver PHP+en Android kildekode.

  • 0
  • 0
#9 Therese Hansen

Et uddrag:

"Javascript has fundamental flaws that cannot be fixed merely by evolving the language. We'll adopt a two-pronged strategy for the future of Javascript:

  • Harmony (low risk/low reward): continue working in conjunction with TC39 (the EcmaScript standards body) to evolve Javascript
  • Dash (high risk/high reward): Develop a new language (called Dash) that aims to maintain the dynamic nature of Javascript but have a better performance profile and be amenable to tooling for large projects. Push for Dash to become an open standard and be adopted by other browsers. Developers using Dash tooling will be able to use a cross-compiler to target Javascript for browsers that do not support Dash natively."
  • 0
  • 0
#10 Jesper Louis Andersen

Mit gæt er at Dart ikke har en tøddel med Javascript at gøre. Det oversætter ikke til Javascript. Det er dynamisk typet. Det har closures. Og der er ryttet op i en del inkonsistens i Javascriptstandarden. I en overgangsfase er der muligvis en Javascriptfortolker for sproget, men det er det.

Den strukturerede webprogrammeringsdel kunne tyde på at sproget har en tæt integration med HTML5. Altså at de byggesten som HTML5 har er primitiver i sproget, på linie med en string- eller integer-type. Man kunne også forestille sig en nem omgang med JSON og/eller XML-lignende data som grundliggende sprogprimitiver.

Hvordan sproget forholder sig til ObjektOrientering, Concurrency og Distribution er interessant. Bracha kan godt lide OO, så mon ikke det er en del af kagen. Distribution er næsten også givet som noget der skal være indbygget, givet HTML5 og satsningen der. Og så bliver concurrency nærliggende primitiver at tilføje.

  • 1
  • 0
Log ind eller Opret konto for at kommentere