Google Dart: solo un altro linguaggio di programmazione Web?

Lunedì 10 Ottobre 2011 - 14:19

di Claudio Cicali

Scripting

La notizia del giorno è che Google ha rilasciato un nuovo linguaggio di programmazione, pensato come il “linguaggio per il Web”. Il suo motto è structured web programming e il suo nome è Dart.
Ovviamente ci siamo tutti subito lanciati a leggere le specifiche e a seguire i primi tutorial: le domande e le prime reazioni non si sono certo fatte aspettare.
Tecnicamente il linguaggio è sicuramente interessante, anche se certamente non rivoluzionario. Vediamo di capire un po’ meglio di cosa si tratta.

L’utilizzo principale sarebbe quello all’interno di pagine HTML, esattamente come JavaScript, salve alcune importanti differenze. C’è tanto di apposito MIME type application/dart da utilizzare nei nostri tag <script> per includere il sorgente del linguaggio. Ovviamente è necessario che il browser abbia al suo interno una Virtual Machine che interpreti Dart: per adesso ci tocca aspettare. Tra le librerie fornite c’è ovviamente anche quella che permette di accedere al DOM, con la solita, odiosa interfaccia standard.
La sintassi è la familiare C-like, con tanto di funzione entry point main().
Interessante l’approccio alla definizione delle variabili: puoi infatti scegliere se definire anche il tipo oppure no, usando il semplice var piuttosto che String, per esempio.

Il motivo di un approccio del genere è favorire l’utilizzo di Dart in fase di prototipazione per poi magari tornare a definire attentamente le variabili in un secondo tempo.

La string interpolation, ovvero il poter usare all’interno di stringhe delle espressioni del linguaggio (grande carenza del JavaScript) è presente, molto potente e con sintassi alla Ruby.
Il modello a oggetti è Class based, con tanto di interfacce. Tutti i metodi o le variabili sono ad accesso pubblico eccetto quelle che iniziano per “_”, che sono private.
Magari leggendo le specifiche tecniche del linguaggio qualcuno potrebbe storcere il naso, ma sicuramente vanno incontro agli obiettivi di design: creare un linguaggio flessibile ma anche rigoroso e strutturato, dalla sintassi e la semantica familiare ad un gran numero di programmatori.

Questi obiettivi sono probabilmente stati raggiunti, ma quello che la maggior parte delle persone si sta chiedendo in questo momento è “Perché Google si sta impegnando in un linguaggio di questo tipo?” oltre a farlo solo perché lo possono fare, come spesso Big G è abituata a fare.
L’obiettivo strategico principale parrebbe essere evidente: prendere il posto di JavaScript (anche se qualcuno pensa addirittura a Java o fa interessanti paragoni con quel linguaggio), ma vista la resistenza e l’enorme inerzia di un linguaggio come JavaScript, che vive adesso proprio il suo momento più brillante, se questo è l’obiettivo le tempistiche si prevedono veramente lunghe; ne riparleremo quando uscirà Chrome con la VM Dart, così che potremo anche effettuare qualche benchmark per vedere quanto questo sia effettivamente più veloce di JavaScript.
Nel frattempo esistono dei tool interessanti per chi vuole fare da subito degli esperimenti con il linguaggio. Esiste un compilatore (sarebbe meglio chiamarlo un transpiler) che permette di convertire codice Dart in codice JavaScript e anche un tool scritto in Python che converte il codice Dart inserito in pagine HTML in pagine HTML con all’interno del codice JavaScript. Il tool si chiama infatti HTMLConverter.
Chi volesse giocare con il linguaggio, può accedere al repository ufficiale su Google Code, armarsi di santa pazienza e compilarsi il tutto.
Ultima nota: le specifiche del linguaggio sono ancora in Draft per cui è anche possibile che cambino, e sono rilasciate con licenza Creative Commons BY. La licenza dei sorgenti invece parrebbe essere una BSD.

Tags:

Categoria: Scripting | Permalink

Commenti

1

Ottimo sunto, grazie mille

# - postato da Jen - 10 Ottobre 2011 - 18:39

2

Dopo “Go” tirano fuori “Dart”. Hanno proprio che alla Google abbiano deciso di non più aver nulla a che fare con Java!

# - postato da JaKaiser - 11 Ottobre 2011 - 08:56

3

Al di là del fatto che big G ha portato e porta grosse innovazioni, ma non sta esagerando dedicandosi a tanti progetti?

# - postato da andrea - 11 Ottobre 2011 - 09:34

4

ci mancava solo questo…

# - postato da pbattino - 11 Ottobre 2011 - 10:50

5

PS: anche quando e’ uscito Chrome ho pensato: “ci mancava solo questo…” :D

# - postato da pbattino - 11 Ottobre 2011 - 10:51

6

Sicuramente Google era in astinenza di FLOP…

# - postato da DAG - 13 Ottobre 2011 - 10:55

7

[…] Dart, il linguaggio di programmazione strutturato per il Web, lanciato pochi mesi fa da Google, ha attirato su di se molte attenzioni da parte degli addetti ai lavori, anche se la sua penetrazione è comprensibilmente lenta nel lavoro quotidiano. […]

# - postato da EclipseCon 2012: l’affermazione per Google Dart? | Edit - Il blog di HTML.it - 19 Gennaio 2012 - 10:14

8

[…] Dart, per chi non ne fosse a conoscenza, è un tentativo di Big G di “pensionare” JavaScript. Dart è progettato per risolvere alcune lacune di JavaScript e per renderlo più adatto allo sviluppo di complesse Web application introducendo, ad esempio, un supporto più maturo alla programmazione a oggetti. […]

# - postato da Dartium: Chromium integra la VM di Dart | Edit - Il blog di HTML.it - 21 Febbraio 2012 - 11:16

Inserisci il tuo commento:





(puoi usare i seguenti tag HTML per formattare il testo -
a href, b, i, br/, p, strong, em, ul, ol, li, blockquote, pre):

 

Anteprima del commento