Qual è lo stato attuale del linguaggio di programmazione Dart di Google? [chiuso]

15

Dart è uscito da anni (negli anni di Internet), ma a giudicare da Google Trends , non ha suscitato molto clamore e il fatto che funzioni solo in Chrome non aiuta . Ciò nonostante, Chrome sta guadagnando quote di mercato ogni giorno, il che si presta a una visione migliore su Dart.

Qual è il quadro generale ora? In che stato è la lingua? La gente lo considera molto? Quota di mercato? Vetrina delle app Web? Alcune implementazioni di funzionalità che ti fanno andare "I hai per usarlo"?

    
posta Mihalis Bagos 16.01.2012 - 21:38
fonte

5 risposte

27

La breve risposta a "Qual è lo stato di Dart?" è: è in anteprima tecnologica. Questo è un modo speciale per dire: "siamo partiti presto per poter aprire tutto e lavorare all'open source". "Anteprima della tecnologia" significa anche "non siamo nemmeno in Alpha, abbiamo molto lavoro da fare, ma c'è abbastanza da farti giocare e dare feedback."

Il tempo di Internet può funzionare per le notizie o le iterazioni dei prodotti di consumo, ma probabilmente non per qualcosa di così ambizioso e ampio come lo sforzo del Dart. Ricorda, Dart è più di una semplice lingua. È anche un set di librerie, un'interfaccia DOM migliore, una macchina virtuale, un editor e integrazione con Chrome. Il team sta lavorando duramente su molti thread paralleli, ma personalmente mi aspetto che ci vorranno sei mesi prima che la maggior parte dei pezzi sia a posto.

Non è vero che Dart funziona solo su Chrome. Dart compila su JavaScript e si rivolge ai browser moderni. Certo, Chrome sarà il primo ad essere lanciato con il supporto Dart nativo, ma garantire la compilazione di Dart su JavaScript performante ed efficace è un vincolo principale e una funzionalità del progetto.

Il quadro generale è che Dart diventerà un "ambiente di sviluppo delle batterie" per le moderne app web. L'obiettivo principale di Dart è quello di contribuire a garantire che il Web rimanga una piattaforma produttiva e piacevole per lo sviluppo e l'implementazione delle app. Ciò significa che molti pezzi devono essere installati: linguaggio, librerie, editor, macchine virtuali e integrazione con il browser. Metti tutti insieme, crediamo che Dart sarà un'opzione convincente per gli sviluppatori di applicazioni web moderne.

Il grande grande quadro BIG è che vogliamo portare gli sviluppatori di app sul Web e vogliamo che gli sviluppatori web scrivano app web più complesse. Se usano Dart, è grandioso. Ma alla fine della giornata, la lingua non ha importanza. L'unica cosa che conta è che si costruiscono complesse applicazioni web moderne, ad alta fedeltà, a bassa latenza e belle.

La lingua è in uno stato di sviluppo. Vediamo nuove versioni delle specifiche circa una volta al mese. Mancano caratteristiche importanti, come la riflessione, ma continuiamo a ripetere. Ad esempio, abbiamo appena aggiunto il supporto map () alla collezione. Gilad Bracha, un ragazzo che conosce i suoi linguaggi (avendo creato NewSpeak e lavorato su Java Lang Spec) e Josh Bloch, un uomo che conosce le sue librerie (avendo scritto Effective Java e lavorato alle librerie della Collezione Java) sta lavorando sul linguaggio e librerie, insieme alla squadra più grande.

Le persone considerano altamente dart difficile da generalizzare, e probabilmente non ha importanza per te. Dovresti trarre le tue conclusioni dopo aver giocato con Dart. La mia esperienza è che gli sviluppatori di app di altre piattaforme come Java, C # o Flex trovano Dart attraente e familiare. La mia esperienza con gli sviluppatori JavaScript è divisa. Se lo sviluppatore di JavaScript ha anche creato app su altre piattaforme, sono cautamente ottimisti riguardo a Dart (o, almeno, la soluzione che sta tentando di fornire). Se lo sviluppatore di JavaScript è cresciuto in JavaScript e ha programmato solo in JavaScript, c'è più esitazione. Questa potrebbe essere una preoccupazione fondamentale per la lingua, o un'esitazione nel lasciare una zona di comfort, o semplicemente non entrare nei casi limite con JavaScript. Questa è solo generalizzazione, ma ho visto molte persone diventare produttive in Dart estremamente rapidamente.

Per quanto riguarda la quota di mercato, è estremamente presto nel gioco. Probabilmente non è la domanda giusta da chiedere, dato che Dart non sta nemmeno spedendo. Una domanda più interessante sarebbe: "Qual è la quota di mercato delle app sul Web?" e poi vai a capire come possiamo affrontarlo.

Per quanto riguarda la vetrina di un'app Web, il team Dart ha creato Swarm, un lettore di news slick. Purtroppo, lo abbiamo solo nel codice sorgente in questo momento: link

Per quanto riguarda alcune funzionalità "killer", direi che ce ne sono alcune molto interessanti:

  • i tipi facoltativi sono chiari, aggiungono annotazioni e documenti per umani e macchine.
  • Isolare è un ottimo modo per raggiungere la concorrenza in modo sicuro.
  • Le librerie (modularità) sono decisamente necessarie per lo stack web e Dart ha librerie e classi.
  • Le istantanee consentiranno un avvio estremamente rapido
  • Le librerie in bundle (come raccolte, cronometro, ecc.) unificheranno le basi di codice e ridurranno il codice spedibile
  • Bella nuova interfaccia DOM, che rende il lavoro con DOM molto più piacevole. Sembra un codice Dart nativo.

Spero di aver risposto alle tue domande. Penso che l'unica domanda importante sia: "Il mio linguaggio mi aiuta a creare applicazioni web complesse, ad alta fedeltà, a bassa latenza, modulari e moderne?" Lo stato finale di tutto questo è semplicemente quello di aiutare più sviluppatori di app a fornire app di maggior successo al Web moderno.

    
risposta data 17.01.2012 - 05:25
fonte
8

Non puoi misurare l'età del linguaggio di programmazione in "anni internet". In effetti, non è possibile misurare alcuna tecnologia effettiva negli anni Internet. Tutto quello che puoi misurare negli anni di internet sono le sonde, ma le ipnie non riflettono la realtà.

Dart è pubblico da 3 mesi a questa parte. Confrontalo con i tecnici "freschi" e "caldi" sul campo, come CoffeeScript o Node.js, che sono pubblici da 2 anni e quasi 3 anni rispettivamente. Inoltre vale la pena notare che entrambi sono passi relativamente piccoli rispetto a Dart. Fondamentalmente CoffeeScript significava collegare un generatore JavaScript in un parser basato su Ruby e Node.js significava l'I / O non bloccante vincolante su Google V8.

Dart è un tentativo di riprogettare la programmazione web front-end a tutti i livelli, ad esempio sintassi, funzionalità linguistiche, ambiente runtime, API. Il confronto tra Dart e CoffeeScript, ad esempio, è come confrontare un prototipo di un velivolo personale a propulsione autonoma ad energia solare con una Shelby GT del 1968. Certo, il primo ha molto più potenziale, ma investire in esso, per non parlare del suo imbarco, richiede molta audacia. Quest'ultimo ha molte carenze note, ma sono noti, il che rende il tutto prevedibile e affidabile.

Ovviamente questa è solo speculazione, ma penso che Dart sia un vicolo cieco, che alla fine verrà salvato per spostare JavaScript in avanti o altre soluzioni. Se vuoi un linguaggio dinamico, CoffeeScript e Parenscript fanno già quello che promette Dart. Se preferisci preferibilmente un linguaggio tipizzato staticamente, allora haXe e Opa faranno il trucco. Tutti e quattro hanno un vantaggio su Dart. E tutti sono progettati per essere compilati in JavaScript come impostazione predefinita, non solo come riserva.

    
risposta data 17.01.2012 - 00:07
fonte
5

Dart è ancora in anteprima tecnica. Al momento la specifica del linguaggio ha la versione 0.0.6, uno 0.0.7 è atteso da qualche parte questa settimana. È lontano da "completo". Ci sono diversi esempi nel repository: link

Ecco una vista su cosa c'è di meglio nei termini della sintassi che in JavaScript: link Disclaimer: è il mio post. Devo dire che mi piace JavaScript, ma in alcuni punti ha stranezze, che non mi piacciono molto.

C'è anche una comunità in crescita attorno a questo: link

Alcune persone sono riuscite a portare Box2D a Dart, un altro ragazzo collegato a CouchDB. Ad ogni modo, non c'è niente da usare in produzione.

Poco tempo prima Josh Blochua si è unito al team per lavorare su un refactoring dell'API. Puoi aspettarti alcune modifiche anche nell'API Core.

Supporto per browser: puoi transcompilare Dart su JavaScript, preferibilmente con Frog (non DartC, si compila con enormi file javascript). Dartium è uno dei browser che supporta Dart nativo, una controversia discussa sul ramo Webkit è da qualche parte.

La mia aspettativa personale è di ottenere qualcosa di più concreto a metà dell'anno prossimo. Dalla mia esperienza, Google Devs sta facendo molto per rendere il linguaggio corretto e buono, prendendo in prestito non solo da Java, ma anche da Erlang e JavaScript.

Ecco un esempio, un gioco portato da JavaScript: link

Ci si può aspettare che Dart arrivi ad Android, forse anche come "lingua principale". Le persone dicono che verrà in AppEngine.

Personalmente penso che Dart sia molto elegante e già piuttosto carino. Inoltre, penso che avrà una quota di mercato una volta completata.

Troverai molte risposte alle tue domande in questa FAQ: link

    
risposta data 17.01.2012 - 00:15
fonte
0

Dart has been out for ages (in internet years)

Non è nemmeno usato estesamente ed è immaturo. Le tecnologie di produzione sono esistite da 10-15 anni + ... per Dart non si può nemmeno dire che sia un pre-alfa. Le nuove tecnologie sono sempre belle, su carta, quando nessuno la usa.

it hasn't gotten much hype

Penso il contrario. È un peccato che una così brutta lingua arretrata abbia avuto recensioni così positive. Sta tornando dalla bellissima Ecma / Java Script OOP con ereditarietà parassita, chiusure e callback a qualche OOP di legno vecchio di decenni preso da Java con tutte le pratiche di programmazione orribili che Java ha.

Some feature implementations that make you go "I have to use it"?

Nessuno. Se conosci java e hai intolleranza affinchè la conoscenza apprenda correttamente Ecma / JavaScript Dart è probabilmente l'unica cosa che funzionerà per te.

Sai come funziona google. Usano molto Java, quindi probabilmente è per questo che hanno prodotto un linguaggio così orribile ... sono abituati.

Accanto a ciò è ulteriormente frammentato il web e posso solo sperare che Mozilla e Opera non lo implementino mai (perché MS non aggiungerà sicuramente il supporto per un po 'di linguaggio java su google). Accanto all'intero concetto è DATATO, dovremmo sbarazzarci di linguaggi come C ++ o Java almeno quando si codificano le interfacce utente perché sono molto inefficaci. È come sostituire C ++ con Assembler, perché i programmatori verso la fine degli anni '50 si rifiutano di imparare cose nuove.

    
risposta data 16.01.2012 - 23:34
fonte
0

Dart è un concetto imperfetto che segue le orme di Javascript. Google dovrebbe collaborare alla creazione di un runtime standard per i browser Web (un po 'come un HTML 6). Simile al codice byte java o al microsoft IL.

Non dovremmo standardizzare su lingue specifiche, ma su runtime. Il "browser è un sistema operativo". Destra? WTF google? Segui la tua visione !!!

    
risposta data 17.01.2012 - 01:03
fonte

Leggi altre domande sui tag