Dart (originariamente chiamato Dash[1]) è un linguaggio di programmazione sviluppato da Google. È stato presentato alla conferenza "GOTO Aarhus 2011" dal 10 al 12 ottobre 2011[2]. Lo scopo di Dart è quello di sostituire JavaScript come lingua franca per lo sviluppo web sulla piattaforma web aperto"[3].
Dart linguaggio di programmazione | |
---|---|
![]() | |
Autore | |
Data di origine | 18 ottobre 2011 |
Ultima versione | 2.18.5 (23 novembre 2022) |
Utilizzo | dart.dev |
Paradigmi | programmazione multi-paradigma, programmazione orientata agli oggetti, programmazione funzionale, programmazione imperativa e riflessione |
Tipizzazione | opzionale |
Specifiche di linguaggio | Dart Language Specification |
Estensioni comuni | .dart |
Influenzato da | CoffeeScript,[senza fonte] Java, JavaScript, Strongtalk[senza fonte] |
Implementazione di riferimento | |
Sistema operativo | multipiattaforma |
Licenza | licenza BSD |
Sito web | dart.dev |
Modifica dati su Wikidata · Manuale |
Il compilatore Dart permette di scrivere programmi sia per il web che per desktop e server, attraverso l'uso di due diverse piattaforme:
dartdevc
) che uno per la produzione (dart2js
)L'intento di Dart è quello di risolvere i problemi di JavaScript (che, secondo il memo interno trapelato,[3] non possono essere risolti con l'evoluzione del linguaggio) offrendo al tempo stesso migliori prestazioni, la possibilità di sviluppare più facilmente strumenti utili alla gestione di progetti di grandi dimensioni e migliori funzionalità legate alla sicurezza[1]. Gli ingegneri di Google stanno sviluppando un IDE basato sul cloud chiamato Brightly, che potrebbe essere la prima applicazione sviluppata con Dart. Google offrirà un cross-compilatore che compila il linguaggio Dart in ECMAScript 3 al volo, per compatibilità con browser privi del supporto nativo per Dart. Ci sarà anche uno strumento per convertire il codice delle chiusure tipizzate in linguaggio Dart.[4]
La VM Dart ed il cross-compilatore Dart dovevano essere disponibili e integrati nel browser Chrome già nel tardo 2011[1] ma Google stessa nel 2017 rinuncia all'integrazione con il browser data la forte opposizione esercitata dai maggiori concorrenti per la standardizzazione del linguaggio[5].
Il famoso esempio Hello world:
main() {
print('Hello World!');
}
Una funzione per calcolare l'n-esimo Numero di Fibonacci:
int fib(int n) {
if (n <= 1) return n;
return fib(n - 1) + fib(n - 2);
}
main() {
print('fib(20) = ${fib(20)}');
}
Esistono quattro modi per eseguire il codice Dart:
Per ottenere la concorrenza, Dart utilizza gli isolates, che sono workers indipendenti che non condividono la memoria, ma utilizzano invece il passaggio dei messaggi. Questo è simile ai processi di Erlang. Ogni programma Dart utilizza almeno un isolate, che è il principale.
Gli isolates sono supportati solo su piattaforme native, mentre su piattaforma web Dart sfrutta i Web Workers per ottenere funzionalità simili[11]
Le istantanee (snapshots) sono una parte fondamentale della macchina virtuale Dart. Le istantanee sono file che archiviano oggetti e altri dati di runtime[12].
Altri progetti
Controllo di autorità | LCCN (EN) sh2014100182 · J9U (EN, HE) 987007407419905171 |
---|
![]() | ![]() |