Press "Enter" to skip to content

GOTO 2011 • Slides from the Google Dart Presentation • Kresten Krab Thorup


Mi chiamo Kristin, sono 6000 e provo la forchetta
e stiamo per iniziare il viaggio
conferenza quest’anno con il dardo
keynote sarà davvero
interessante vedere cosa si prova così
Corro lassù e subito dopo
keynote Tornerò e faremo un breve
panoramica di ciò che era nella nota chiave
sfortunatamente non siamo riusciti a filmarlo
quindi vedremo un video per
ci vediamo presto
potresti essere rumoroso ora siamo appena finiti
la nota introduttiva del dardo la sente andare
conferenza e sono giù nel mio ufficio
ho pensato di fare solo un breve riassunto per
su ciò che era nella nota dominante
peccato darte e tipo di generale
impressioni così personalmente sono davvero
eccitato, penso che questo sia davvero
qualcosa che sta per essere fatto
una grande differenza e tu sai che c’è
stato un sacco di discussione prima del
lancio su ciò che è l’arte e questo è
sarà il prossimo JavaScript dove
erano ciò che sostituirà ciò che è
andando a questo posto e penso
lo so dal mio punto di vista
praticamente tutto quello che spero sia
molto presto nel progetto quindi c’è
c’è ancora molto spazio per cambiarlo
per migliorarlo e sono molto aperti
di prendere 16 contributi da
persone sia in termini di richieste di funzionalità
e codice ecc. così sarà
davvero eccitante la prossima coppia di
mesi per vedere come questo si dispiega così che cosa
portato con me qui oggi è in realtà
il set di diapositive che hanno usato lo hanno
qui per il keynote del mattino e io
ho pensato che mi sarebbe piaciuto fare un rapido
Rundown di alcune delle principali cose in
qui quindi prima di tutto sai che il dardo è un
nuovo linguaggio di programmazione è un nuovo set
di strumenti ed è un progetto open source
ed è tutto ciò che è là fuori adesso
puoi andare a scaricare gli strumenti che puoi provare
per provarlo e c’è un c’è
Completa l’ IDE ci sono i compilatori
c’è un vm è tutto disponibile per
scarica su google code ma anche
questo avvertimento molto esplicito è solo questo
una tecnologia di anteprima che questo progetto
è davvero lì così che tu lo sappia
può assicurarsi che ottengano questo giusto
non intendono quello che hanno
oggi per essere l’ultima cosa
e sicuramente posso già vederne molti
cose che puoi conoscere i loro bisogni
tipo di risoluzione che non ha bisogno di aggiustare
ma che deve essere implementato e e
fatto così i due ragazzi dietro questo ho fatto un
introduzione di speaker e poi è stato
un po ‘sfortunato ma questi due ragazzi
sii molto e Lars lo sai già
lavorando in questo spazio per circa 25 anni
e hanno lavorato insieme su un sistema
chiamato forte shock come 15 anni fa o
qualcosa del genere quando sono scoppiati
dei laboratori del sole e lavorano insieme e
JVM per molto tempo e ora lo sono
lavorare insieme e l’arte tra Lars
blocco ultimo buck lavorato su beta self OPM
e v8 recentemente gilad è stato occupato
fare il linguaggio Java per un certo numero di
anni e nuovi parlano così questo era il
agenda di cui sapevi di parlare
motivazione perché stiamo facendo questo ciò che è
il linguaggio che cosa campiona il codice
sembra che sfortunatamente non ho tutto
il codice li campiona perché loro
passare a un editor e io non ho
quello disponibile qui forse può venire Carl
e mostrarne qualcuna più tardi
alcune demo che ho diretto su un iPad
demo davvero fantastica e davvero fantastica
hanno introdotto il progetto open source così
stanno parlando di ciò che funziona bene
il web oggi e le cose che funzionano
bene con la tecnologia web che abbiamo
oggi sta sviluppando piccole cose è
davvero bella piattaforma indipendente
hai JavaScript e HTML HTML 5 tu
non è necessario installare cose è davvero
sviluppo incrementale e facile da fare
è disponibile ovunque è davvero un
bit kudus esperienza del browser web così
sono tutte le parti buone ora le cattive
le parti vanno là in argomento
sai che è davvero difficile essere un po ‘da fare
progetti se lo fai se hai un grande
codice base quindi
nel farlo con JavaScript e HTML5
è davvero difficile quindi quello che è difficile è difficile
per trovare la struttura del programma perché tu
non hai davvero tipi che non hai
strumenti per aiutarti perché non c’è
tipi statici e non c’è davvero niente di buono
il supporto per le biblioteche non va bene
struttura del modulo gli strumenti non possono davvero
aiutarti a finire la modifica del tuo
Sistema JavaScript e modifica del testo simile
fondamentalmente così tutte queste cose dove vai
nello sviluppo su larga scala è a
grave mancanza nello stato attuale dell’arte
e così stanno dicendo davvero quel dard
riempie il vuoto di qualcosa dove c’è
non strumenti in questo momento qualcosa che è
tra tutte le altre cose e io
penso che sia giusto perché abbiamo questo
il vuoto è stato creato fondamentalmente
avere dieci anni senza significativi
innovazione linguistica con 10 o 15
anni conosci la programmazione principale
piattaforme su cui siamo su JavaScript
CCR Java erano praticamente scolpiti nella pietra
tra 10 e 15 anni fa e c’è
stato un sacco di diversi sistemi
diversi problemi diversi che siamo
iniziare a vedere non era vero
coperto dalla tecnologia che è simile
15 anni fa, il più interessante
la cosa qui direbbe che non è davvero
spiegare troppo su di esso dire che abbiamo un
Piattaforma mobile frammentata così che loro
significa che sai che abbiamo Java
Android abbiamo oggetti da vedere su iOS noi
avere sistemi basati su JavaScript e altro
come web ci ce ne sono di diversi
modi per cui programmi le applicazioni
dispositivi mobili e si sa è una specie di
nascosto nel mezzo di questo
presentazione ma penso che questo sia il
tipo di chiave per dove sono davvero
andando ad attaccare non è solo un altro
JavaScript è un modo di deframmentare
izzando se per così dire assemblandone uno
piattaforma di programmazione per tutto il
app braccio diverso
si forma così se riescono in te
sappi che stanno salendo davvero
contro di cambiare il mondo di Android
sviluppatori e sviluppatori iOS
in particolare così stanno dicendo un anno
hanno fatto un piccolo progetto giocattolo chiamato
identifica quelli con Casper Casper Lunt e
hanno provato a fare un piccolo linguaggio che
era come una specie di JavaScript ma
con i tipi e ne passano solo alcuni
mesi a giocare con questo e poi
deciso di andare avanti e farlo così così
Casper e Lars sono davvero i due
persone che hanno guidato questo fin dall’inizio
così buio scendere a ciò che oscuro davvero
è che è un oggetto semplice che va
linguaggio di programmazione quindi tutti quelli che sono
programmato in java e c sharp o ruby
o sai che lo nominerai immediatamente
riconosci questo linguaggio che è molto
semplice come singolo di classe
eredità in modo che è un posto dove
devia da come JavaScript che ha
questa altra nozione di prototipi e
delega ha tipi statici opzionali
che è una delle cose che hanno portato
avanti dal forte progetto di gesso
è anche il modo in cui gli oggetti di C scrivono
essenzialmente ha un vero scope lessicale
e questo è un punt su un javascript
perché javascript ha qualcosa di strano
problemi in termini di scope lessicale dove
sono anche conosci altre lingue
come Ruby hanno avuto problemi con lessicale
scoping che scopre lo scoping lessicale
javascript ha questo questo terribile
costrutto credo che si chiami con
qualcosa proprio dove puoi iniettare
nomi nel tuo ambito lessicale che
davvero rompe le prestazioni male e poi
hanno detto single threaded e io ero tipo
oh no questo è single threaded come può
loro posso comandare il mondo con il
nuovo linguaggio di programmazione a thread singolo
ma al centro il modello di base è unico
sintassi filettata e familiare che significa
è come
è un mix tra JavaScript ish e a
sintassi da studioso, forse lo faresti
dì perché è bello in linea
funzioni anonime usando una freccia da allora
X
uno dei forse è uno dei più
cose diverse è un tipo di controllo così
è un diverso tipo di controllo in
percepire che il controllo del tipo non ottiene
nel modo in cui esegui il programma
infatti il ​​controllo del tipo non cambia
la semantica a tutti si può avere un
programma pieno di tutti i tipi sbagliati e
se il programma nel suo nucleo è corretto
allora continuerà a funzionare così
invece i tipi non si intromettono
di avere l’espressività del programmatore
essere limitato da quello che sono ciò che il
il sistema di tipo può esprimere se questo è noto
trasforma completamente i tipi di dire annullati
sono lì per aiutarti a conoscere il
programmatore probabilmente sa cosa
il programma dovrebbe fare e se si può ottenere
aiuto con l’aggiunta di aiuto dal compilatore
e strumenti aggiungendo annotazioni di tipo
va bene così hanno messo questa citazione
nel buio sei innocente fino a prova
colpevole quindi in pratica significa che lo sai
il compilatore verrà lasciato al runtime
un programma eseguito anche se il tipo signore
o sono errati in qualche modo e questo è
tutto così puoi vederlo solo in questo
emette avvisi non ci sono errori di tipo
al buio ci sono solo avvisi di tipo okay
i tipi di dardo sono reificati a destra e
ciò significa che puoi effettivamente testare se
qualcosa è di un certo tipo, quindi questo
è come un esempio di controllo di te
può usare l’istanza di check at run
il tempo di controllare è di un certo tipo
si chiama è in dardo e anche questo
lavora con i generici quindi se sei stato dentro
lo spazio java potrebbe essere un non essere stato
infastidito dal fatto che il runtime
il modello non contiene informazioni su
generics e parham parametrizzano le classi
bene in freccette fanno così puoi davvero
dì esempio di un elenco di stringhe per
istanza e capirai se lo fosse
istanziato come una lista di stringhe okay così
questa diapositiva riguardava c’è un certo
modalità runtime che è possibile abilitare durante
sviluppo che sarà effettivamente a
runtime controlla questi tipi controlla tutto
i tipi quindi diventano dichiarazioni di tipo
le annotazioni diventano asserzioni bene come a
produzione normale probabilmente non lo faresti
abilitalo, quindi questo è più dettagli
sui tipi opzionali che ho appena
probabilmente dicevo sempre chi ero davvero
felice quando loro e noi siamo arrivati a questo
Scivola perché sai ricordati ciao
prima ha detto che il dardo è single threaded
e io ero tipo oh no o no no come può
fai un credito unico per la lingua modello
ma il buio ha isolati isolati è gentile
di come è ispirato da Erlang è
come i processi di Erlang, quindi il dardo ce l’ha
nozione di correre questi leggeri
processi e puoi eseguirne molti
all’interno dello stesso dardo VM e loro
comunicare per messaggio passando così ciascuno
di questi è completamente isolato
semanticamente hanno un completo
separato, almeno adesso ho chiesto a SP
un po ‘di più sulla semantica giusta
ora semanticamente ha una copia
di tutto il codice che è la semantica di
e usa il messaggio che passa per parlare
tra di loro quando ne crei uno
questi si ottiene una porta che è possibile utilizzare
parlarci e ovviamente isolare il supporto
esecuzione simultanea quindi penso che sia così
solo il modello giusto per fare
programmazione della concorrenza in un moderno
mondo così non è fatto il dardo c’è ancora
un sacco di cose che non hanno
implementato o non ha deciso cosa fare
voglio dire non c’è riflessione
supporto ma è molto probabile che lo faccia
basandomi sugli specchi, Gula me l’ha detto
offline ci sono varie lingue minori
cose come hai numero variabile
di argomenti che supportano l’enumerazione
non è stato deciso implementato sono
parlando di vuoi forse vuoi tu
pattern matching come in Erlang perché
quando si inviano messaggi tra isolati
devi essere in grado di decifrarli
messaggi e capire come
interpretali e quali sono gli oops
collegamento al cromo non è in cromo
ma alla fine meno lo stabilizza
sarà ovviamente un vm che è un po ‘
parte dell’esperienza di Chrome in questo momento
è qualcosa di separato che devi
scarica perché questa è una tecnologia
anteprima così il modo in cui è possibile eseguire il
l’arte è una fonte di dardo su cui puoi girare
un dardo VM o puoi avere freccette o correre
attraverso il compilatore dart c ed esegui
è in JavaScript quindi è quello che loro
stavamo dimostrando che non lo stiamo dimostrando
correndo su un iPad aggiungono un
applicazione a cui vengono compilati
JavaScript e stiamo funzionando su un iPad
una delle nuove novità è che puoi
anche prendere la fonte di dardo e poi gentile
di pre compilare in cui potresti dire
quello che chiamano un’istantanea e che scappa
è come su una macchina virtuale e un’istantanea
facendo tutte le cose fino al punto
dove corre la prima riga di main così
sarà in grado di inizializzare le strutture theta
prepara il codice
per eseguire e quindi in modo sostanziale questo strumento
quello che prende uno snapshot è un dardo VM che
corre fino al punto poco prima del
punto di ingresso del tuo codice e poi esso
congela che lo stato di vm lo scarica e tu
può caricarlo molto velocemente 10 volte
più veloce quindi se dovessi analizzare tutto il
codice che mi piacerebbe che tu dovessi fare
javascript oggi quindi è come
partendo da un’istantanea ti consente di farlo
avvio molto veloce che è uno dei
le cose sono state uno dei problemi
hanno lottato con dentro
JavaScript e una delle cose che conosco
lavorano molto duramente in v8
in grado di ottenere l’avvio sia veloce come
possibile in modo che è roba nuova di zecca
prestazioni ci sono alcuni numeri voi
puoi controllarli probabilmente vedi il
i numeri qui sono quasi tutti sotto
cento significati che questo è ancora
più lento di JavaScript ottimizzato manualmente
per un numero di esempi diversi così
non è ancora questo è che non sono come
spazzandoci via oggi e dicendo questo
il linguaggio è dieci volte più veloce di
JavaScript è pazzo più veloce di Java
ma sono ancora nel suo genere in a
redini paragonabili e questo è molto presto
e grande ha detto che sai prima di chiamare
questa è una versione di produzione, sono io
ti garantisco che non so se ha detto
garanzia ma ha detto che ha detto questo
sarebbe tutto più veloce di JavaScript questo
vedremo un po ‘di cose
snapshotting avevano alcuni esempi di loro
ha mostrato poi hanno mostrato un editore
ha avuto un IDE completo che hanno mostrato così in mezzo
queste diapositive si sono girate sul vivo
modifica del codice avevano un tipo pieno
di Eclipse paste editor con sintassi
evidenziazione e aiuto in caso di
stai accedendo a cose in una biblioteca
che ha tipi sulla sua API voi
ottenere di ottenere come scatole a discesa di cosa
i metodi possono essere chiamati e questo oggetto
ecc proprio come sei abituato a nel tuo
ID classico e
sai esattamente il set di funzionalità
quello a cui mirano con il
tipo di sistema a cui è collegato il sistema di tipi
aiutare il programmatore e aiutare il
strumenti non è lì per fare il
la lingua funziona più velocemente o per essere più sicura
in un certo senso andiamo se usi il
sistema di tipo per quelle cose poi
tipo di tende a intralciare
esprimendo ciò che vuoi veramente così
è davvero un tipo davvero molto interessante
di mix tra questi e hanno aperto tutto
questi siti web ci sono dartlang.org
dove puoi leggere di più su
codice c’è oscuro googlecode com dove io
può andare a scaricare il codice e contribuire
al progetto open source quindi penso
che tutte queste cose che hanno parlato
circa oggi sono disponibili lì ed è
solo dannatamente bello, quindi dovresti andare
dai un’occhiata Penso che sia davvero io
penso che questo sia davvero un punto di svolta
sarà davvero interessante da vedere
come si svolge ci sono molte cose
che deve essere fatto ancora e molto
cose che abbiamo bisogno di aiutarle
bisogno di finire questo progetto, ma questo è
davvero davvero una buona partenza, penso di essere io
penso che creerà molti di noi a
molte cose interessanti stanno succedendo così

Please follow and like us: