Press "Enter" to skip to content

GOTO 2012 • Array Thinking Escaping The Groove • David Leibs


va bene buongiorno quindi sono David
parte dai laboratori Oracle e lo sarò
parlando di alcune cose che ha
niente a che fare con qualsiasi prodotto Oracle
presente o futuro, quindi stiamo andando a
iniziare con alcune pseudo neuroscienze
e la metafora e il tema di fondo è
è davvero sulla nostra propensione ad ottenere
bloccato in un solco o sarò anche di meno
educato rimane bloccato in un solco e questo è
davvero su un’idea chiamata path
dipendenza che è un’idea da
economia su come inizierai
con un po ‘di tecnologia e il
le prime decisioni che prenderai saranno con
te per sempre
centinaia e centinaia di anni dopo
influenzeranno le decisioni
che sono fatti per andare oltre, lo faremo
quindi guarda come sono umano
essere stato cablato come un bambino e poi
ci tufferemo in uno dei miei preferiti
argomenti sulla programmazione dell’array terrestre è
bello ed è qualcosa che penso
vale la pena investire in
e poi stiamo andando a guardare un po ‘
idee futuristiche per che tipo di
interfacce che potremmo mettere su array
programmazione in futuro quindi NON SONO a
vero neuroscienziato, ma ne ho fatto uno
una volta alla NASA nei primi anni ’70 e cosa
Ho intenzione di parlare non è reale
non è il modo in cui funzionano davvero così è
sarà davvero una metafora, quindi facciamolo
guarda cosa succede quando l’acqua cade
dal cielo e colpisce un piccolo pezzo di
terra fa un’ammaccatura e quel poco
ammaccatura ora è un posto la prossima volta
l’acqua colpisce diventa un po ‘più grande
e l’acqua è molto un ottimizzatore e
tra non molto si sa si trasforma in a
un po ‘di groove e lo sai
il solco ma diventa un solco e oltre
l’acqua del tempo scolpisce incredibili canyon profondi
quindi sostengo che anche noi siamo così
siamo molto influenzati da ciò che siamo prima
imparato e pratichiamo le cose così
siamo stati attirati così ci siamo diretti verso quello
quello che ci piace e le nostre prime esperienze
avere un enorme impatto su questo
così, col passare del tempo, entriamo in una
groove quindi giochiamo con questa idea per
una seconda volta questo è uno dei miei preferiti
illusioni ottiche di tutte le volte che è
non proprio un’illusione ottica ma cosa
vedi che ti darò un secondo tutto
a destra si può vedere la mucca nessuno ci
tu vai
sta succedendo quelle piccole gocce
colpire forse quel piccolo contorno in giro
la sua faccia sarà d’aiuto se non la puoi vedere
va bene
vedetemi dopo e lo farò
e ti daremo l’esperienza in ogni caso
quelli di voi che sono in grado di vedere la mucca
puoi non vedere la mucca e questo è il
parte importante
una volta che hai visto quella mucca lo farai
non essere mai in grado di non vedere la mucca
il massimo ci troviamo in fondo
di canyon carichi di tutto il nostro
roba che scorre attraverso l’ acqua con
i nostri amici
potremmo trovarci al
parte inferiore del ciclo for ora per la maggior parte
programmatori questo codice per matrice
moltiplicare sembra normale ma a me
sai che vedo un canyon essere dislessico
le rotazioni non contano, quindi è importante
per ricordare di uscire da questi
canyon che c’erano di volta in volta
anche se è difficile perché
ci sono alcune cose là fuori che sono
di bellezza assolutamente grande che hai
andare e guardare in alcuni dei
altri canyon che ci sono così bene
verità nella pubblicità diamo un’occhiata a come io
era cablato come un bambino perché questo è
intenzione di avere qualcosa a che fare con dove
il tutto va bene ho avuto un molto
strano giocattolo con cui giocavo da bambino mi
giocato con mollette e lo farei
uniscili insieme in strutture e
poi lanciavo più mollette
in quelle strutture e proverei e
scatenare una reazione a catena e non lo farebbe
capita ogni volta che a volte il
la magia funzionerebbe a volte no
era un’ossessione l’ ho fatto come ogni
giorno e allo stesso tempo lo stavo facendo
Ero seduto sul pavimento di fronte a
televisore collegato a una sorta di
flusso di informazioni che stava appena arrivando
in I sai a volte lo era
interessante a volte non era ma io
era ancora lì a cercare di far partire quelli
reazioni a catena mi è davvero piaciuto
alcune delle cose che ho visto in televisione
ed è proprio come wow penso di volere
essere uno scienziato giusto
sono anni ’50 bene, sto bene perché
gli scienziati sono quelli che arrivano
combatti i mostri ovviamente sai che mi piace
fantascienza e
un giorno ho avuto questa incredibile esperienza
dove un vero scienziato è venuto in TV e
ha iniziato a spiegare come conosci il nucleare
le reazioni a catena hanno funzionato e hanno spiegato come
come se conoscessi un neutrone a movimento lento
vorrei entrare in un atomo di te conosci
uranio ciò che l’isotopo 235 e – it
si sarebbe diviso e altri due neutroni
vieni fuori questo è proprio quello che ero stato
facendo con le mie mollette tutto così
Ho davvero capito che è stato fantastico
esperienza per vedere ciò che ero stato
facendo qualcosa di connesso a qualcosa dentro
il mondo reale
comunque sai che gli anni passano e finalmente
per fortuna sono stato attratto
la matematica qualcuno lo ha riconosciuto
persona verso il basso nella parte inferiore Oliver
Heaviside è una persona che era conosciuta
per venire con una notazione che
usiamo per il calcolo vettoriale ed è it’s
praticamente se fai fisica è tuo
notazione comunque, quindi ero chiaramente
trascurato non me lo hanno dato tu lo sai
giocattoli adeguati con cui giocare e guidarmi
in si sa più significativo si sa
indicazioni come un bambino, ma allora
mi è capitato ben stranamente che trovo
facendo me stesso oggi quello che ho fatto allora mi siedo
di fronte a un monitor da 30 pollici agganciato
in un flusso di informazioni e tu
sapere di venire da internet tutto il giorno
e ho fatto clic su astrazioni e
arrivare a un punto in cui penso sia pronto
e spingo lo stantuffo o butto
qualcosa dentro e vedere se quella catena
la reazione inizia e io ho l’effetto
voglio fortuna per me devo avere il buono
fortuna di essere la persona coinvolta in
prendendo un annuncio di conversazione ridotta da Xerox PARC
e trasformandolo in un vero prodotto così
solo un altro punto dati
ecco il mio figlio maggiore che cosa stava facendo
da piccolo e cosa sta facendo oggi tu
so che c’è uno schema qui, quindi
torniamo a quei verdi ora
che ti ho detto come sono cablato e
diamo un’occhiata a qualcosa di veramente bello
prendi dell’acqua per prepararmi così indietro
negli anni ’50, all’epoca in cui stavo suonando
con i mollette da bucato che Ken Iverson stava giocando
con la notazione che non era soddisfatto
notazione matematica l’ha trovata piena
con incoerenze e lui si avvicinò
una notazione molto migliore e questo era quello
il vero all’alba del computer
età scrisse un libro meraviglioso, solo
ha celebrato il cinquantesimo anniversario di
quel libro ed era ad Harvard presso il
tempo stava facendo questo e quello che penso
una sorta di fortuna per noi che non ha avuto
possesso
tu sai e la sua persona stava lavorando
con lì era come se tu non l’avessi
davvero fatto così tanto che hai solo scritto
quel quel piccolo libro ma è abbastanza
un bel libro e quindi se n’è andato
a IBM e con Aidan Falk perché lui loro
ha inventato l’ APL del linguaggio del computer così a
sorta di una rapida panoramica che aveva
simboli geroglifici aveva il suo
Pallina da golf Selectric dove hanno messo
i loro glifi su di esso aveva il suo
tastiera non gli piaceva le regole di precedenza
di cui siamo costretti
insegnanti di algebra in modo che tu non abbia
scrivere tanto quando parli
polinomi sembra come se
la valutazione è da destra a sinistra, c’è a
nozione di uno spazio di lavoro o come se fosse
hai mai fatto chiacchiere o qualcosa del genere
come quella
come se fossi un’istantanea di un ambiente che è
pieno di dati e variabili
nel tuo codice e quando torni
più tardi riprendi da dove parti
spento e ha funzionato su multidimensionale
array come il suo tipo di dati principale e così è
le sue funzioni sono definite su scalari
hai operatori su cui sono definiti
sulle funzioni in modo che gli operatori assumano funzioni
come argomenti e fare nuove funzioni e
tutto questo poi si estende agli array in quattro
modi diversi l’elemento per elemento
puoi fare riduzioni attraverso gli array di
qualsiasi dimensione e tendi ad usare l’interno
e prodotto esterno come è blocchi di costruzione
e le persone che sono state davvero attratte
questa lingua era la matematica applicata
Folla gli economisti chimici fisici
persone che hanno avuto problemi a risolvere così
loro scriverebbero scriverebbero il codice
avrebbero scritto programmi ma lo era
sempre in procinto di risolvere a
problema che volevano una risposta a
domanda stavano esplorando uno spazio o
forse stavano progettando algoritmi così
è che è come non necessariamente il
lo stesso tipo di programmazione che normalmente facciamo
ma è in una sorta di quell’area di
informatica tecnica, quindi APL ha davvero
davvero una grande idea in quanto i tuoi dati sono
multi-dimensionale e puoi prendere qualsiasi
multi-dimensionale sai essere come un
un numero come dimensioni zero conosci un
lista è una dimensione a matrice o a te
conoscere un piano è per te estendere tutto
la strada verso l’alto e puoi guardare quelli dentro
più modi tipo di guardare a
mucca puoi pensarci in fondo
hai zero celle che contengono scalari
o un atomo e quindi puoi avere file di
atomi o puoi guardare il
telaio di esso e dicendo bene ho un
sai tre tre per quattro frame di
righe o elenco a11 di tridimensionale
array in modo da poterlo vedere comunque
e perché le funzioni stesse hanno
rango giusto l’idea di rango permea
APL tu hai l’abilità allora
scrivere una funzione e dire che sono solo
interessato ai numeri o sono solo
interessato a file e poi APL lo farà
prendere automaticamente qualcosa di più alto
dimensione e capire cosa fare chiamare
ogni cosa opportunamente dimensionata e
assemblare il risultato in una cornice adeguata
e questo è ciò che ti dà l’ abilità
programmare senza dover scrivere loop
le radici in cui sono impliciti gli anelli
come imposti i tuoi dati e il
modo in cui scrivi le tue funzioni così poco
un po ‘di informazioni dalla storia
APL ha avuto prestazioni ragionevolmente buone
prima implementazione che hanno fatto a
IBM ha battuto completamente i 360 tentativi
che mi piace condividere il tempo in questo perché
hanno prestato attenzione al movimento di
la testa del disco in altre parole l’ altra
gli altri gruppi che fanno cose al
tempo lascia che la testa del disco salti su tutto il
il disco e gli APL erano attenti
pure
fai la loro condivisione del tempo programmandola
basato sulla minimizzazione del movimento di questo
bambini così loro hanno sovraperformato enormemente
in esso si è andato a diventare molto molto
popolare quindi ecco alcune prestazioni
numeri tornano da quelli che conosci giorni in
il punto nel tempo in cui conosco IBM
vendeva APL a tutti dappertutto
il mondo ci sarebbe un po ‘di
tempo di preparazione per un’operazione come a
un paio di voi conoscete millisecondi e poi
stavi operando su grande omogeneità
strutture e una volta che sai andato
attraverso quel po ‘di setup e questo
sarebbe solo manovella attraverso il
resto di esso, quindi se si ha un migliaio di
elementi il tempo di preparazione e il
l’interpretazione era trascurabile e il
il resto del tempo era appena in esecuzione
codice della macchina davvero molto veloce e lei
aveva meno di mille elementi
array bene non importava tu lo sai
conosci dieci donne, raggio, sì, non lo farai
anche notare cosa è interessante è come
bene le implementazioni moderne si esibiscono
su un iPhone è semplicemente incredibile
quanto è veloce oggi sul piccolo io
dispositivi così qualunque cosa sia successo a APL bene
è cresciuto rapidamente negli anni ’70 e nel
Gli anni ’80 hanno iniziato a decadere perché
i pc stavano arrivando sulle workstation erano
in arrivo e in qualche modo è morto
ha discendenti moderni è ancora usato
parecchio nella comunità finanziaria
dà loro un grande vantaggio e c’è
persone là fuori in sella ad alta frequenza
sistemi di trading in discendenti APL esso
è stata un’influenza molto influente su Fortran
90 MATLAB sono le idee in
Array di Microsoft Excel
Blocchi di costruzione di array di Intel
Mathematica qualsiasi cosa così guardiamo
diamo un’occhiata nel piccolo di esso la la
versione di APL che mi è piaciuta come mia
il preferito è a è una versione chiamata J
che è quello che Ken Iverson ha fatto dopo di me
non so quando lui quando era
circa 30 anni poi ha deciso di rifare
l’intera cosa che ha detto di averne fatto un po ‘
problemi all’inizio che sto solo andando
inizia con una lavagna pulita e lui
fatto una versione che è una base di sci e
non richiede una strana tastiera strana
riempito con lettere di corona comunque ecco
il mio dieci per tre sottogruppi di lavoro del nostro
che è per lo più solo statistico
funzioni e il fatto che posso mettere
tutti su quella griglia e prendi il mio
gira tutto intorno a una cosa
sguardo senza dover scorrere è
qualcosa che trovo molto attraente per te
probabilmente sembra un rumore di linea
certamente queste possono essere le lingue dei tassi
essere molto, molto veloce, c’è un sacco di
esperienza risalente agli anni ’70 in poi
come fare davvero davvero efficiente
implementazioni di elaborazione di array di
tenendo duro sai saltare dentro e
eseguendo il codice troppo velocemente in altro
le parole invece di eseguirti costruisci a
un po ‘ di un albero sintattico astratto
e guardalo un po ‘e dillo bene
Accidenti, hanno creato una pipeline qui
sappiamo come fare questo molto più veloce siamo
non mi piacerebbe fare un sacco di
array intermedi non c’è motivo di farlo
fallo così, c’è un sacco di cose
esperienza nell’ottimizzazione di queste lingue
negli anni ’90 quando la gente ha iniziato a ricevere
più teoria
A proposito di parallelismo che hanno notato che
la maggior parte dei primitivi erano giusti
naturalmente parallelo e a causa del
L’ API di modo funziona che le persone tendono a scrivere
40 a 50 percento del loro codice
solo essere naturalmente parallelo e questo è
una delle cose che penso sia ciò che è
interessante sul perché vorremmo
guarda una vecchia lingua che non sei tu
sapere non è così tradizionale come questo
una volta era
è un buon modo per allenare il nostro modo di pensare
per fare il calcolo parallelo dei dati così
tendi a programmare usando grande
elementi costitutivi e metterli
insieme a una sorta di diciamo
funzioni di ordine superiore e non lo fai
impigliare un mucchio di informazioni nei loop
è come quando scriviamo quando scriviamo
cicli abbiamo il meglio dell’intenzione
e cerchiamo di essere efficienti , proviamo e
falli fare più cose contemporaneamente e
quello che stiamo davvero facendo è entrare
la via del macchinario di fusione ad anello e
in realtà non stiamo molto meglio
pensando che sappiamo come ottimizzare
codice e lasciare che il compilatore fanno in
altre parole molto del nostro intuito è
sbagliato soprattutto alla luce della memoria
problemi di gerarchia così APL ed è
i discendenti incoraggiano un ciclo meraviglioso
Sai, sai dove stai
non a te tende a non usare gli accumulatori
nei loop e quindi ecco un davvero davvero
bel pezzo di APL e sto andando a
ora darti alcune animazioni per darti
un assaggio di come fare questo tipo di
pensando e poi verremo
torna a questa funzione una volta sola
entrato
un po ‘di più quindi cosa va bene
iniziamo con semplice
aritmetica e aggiungendo tre più quattro così
prenderà l’elemento a destra il
elemento a sinistra in informatica e
questa animazione qui è sorta ora sono
iniziando a mostrare quello che succede nella mia testa
quando penso in termini di array
programmazione o ciò che chiamo array
pensando così alla sequenza di animazioni
è qualcosa che sto progettando
nella speranza di un giorno averlo su qualcuno
piccolo dispositivo come lo sai una macchia solare
con un economico LED e-ink e alcuni semplici
sai vicino al campo sai forse a
Sensore di effetto Near Field Hall vicino
sapresti cosa era giusto e
cosa c’era a sinistra perché il mio sogno è
per farlo davvero staccare dal computer e
tornare indietro sul pavimento come ho fatto io
con i miei vestiti pin in modo da guardare come si
Esegui questa volta e ti verrà in qualche modo
vedere la valutazione da destra a sinistra
calcolato che così una volta di sapere una volta che
capire
aggiungendo bene gli scalari non c’è niente
non c’è niente di magico che sarà estendono in
allo stesso modo per cancellare
e puoi mescolare scalari con array così
tutte queste funzioni funzionano allo stesso modo
e questi sono questi sono in genere i
gli elementi costitutivi che tu
normalmente si usa e tutto funziona alla
allo stesso modo, quindi tendenzialmente stilisticamente
per avere funzioni interessanti che prendono
può assumere scalari come argomenti e fare
array di loro così questo lo sai
funzione chiamata interi che rende il
interi da come lo conosci il
primi quattro numeri interi da zero a quattro
ed è spesso chiamato iota per il
per il personaggio e puoi ovviamente
dai a Iota un array che genererà
per te un array multidimensionale ora
cosa fai bene con te in gara ?
scolpire con loro quindi eccoci solo
creiamo solo uno e poi rimodelliamo
in qualcos’altro
giusto così vector vector in e matrix out
adesso
il vero potere arriva quando funziona
diventano essi stessi dati e tu hai
operatori o dentro come la Giada
dialetto che chiamiamo funzioni verbi e noi
chiama gli avverbi degli operatori in chiunque
indovina continuamente ciò che chiamiamo il
i nomi dei dati numerici vanno bene così che / è un
avverbi che sta per prendere più plus
e giralo bene per guardarlo
lo trasformi in grande Sigma e sommeremo
tutto su
ora il mio preferito degli operatori è
prefisso può quindi qui qui abbiamo a
catena di operatori che vanno così a generare il nostro
lista di fare il grande Sigma ora applicheremo
quello ad ogni prefisso dell’array e così via
ciò che otteniamo è una somma corrente ora
può essere molto utile così come è possibile
usa questo ora è come lo faremo
scrivi una funzione chiamata espandi proprio così
quello che vogliamo fare è avere un array e
vogliamo mettere zero in tutto il posto
sai dopo tutti i posti dove
c’è un 1 e dove c’è uno 0 siamo
non andando a fare qualcosa di diverso quindi
facciamo quello useremo quella somma di prefisso
quando tu quando lo fai su qualcosa
boolean si ottiene una bella passeggiata del
indici e poi lo moltiplicherò per il
booleano di nuovo giusto, quindi fallo e cosa
quello che fa è sapere che ne usa uno
è l’ elemento di identità e conserva
quegli indici e gli zeri si annichiliscono
proprio come vuoi, quindi cosa mi succede
con dentro è questa questa bella cosa con il
zeri dove voglio fare la mia espansione così
ecco la stessa espressione insieme
è una funzione di indicizzazione e sto andando a
concatenare uno zero sul mio array e
quando indico in esso, compaiono i miei valori
lì con gli zeri dove li voglio
e così è così che usi il prefisso
il prefisso può e il prefisso può essere molto bello
perché è qualcosa che sappiamo
come fare in parallelo e questo è costruito
in GPU e quindi se inizi a ricevere
nella programmazione GPU si usa il prefisso
pelli tutto il tempo va bene l’ altro grande
la funzione che viene usata molto è
prodotto esterno e ciò che fa è
prende ogni cella zero a destra e
usa l’operazione con cui passi
la riga a destra quindi in altre parole
prendiamo un pozzo, andiamo
lascialo correre è più facile guardarlo
lì, quindi abbiamo di base fondamentalmente si parte
Conoscete cose unidimensionali e
alziamo la dimensionalità due a due
dimensioni e poi l’altro
l’ operazione interessante è la compressione così
sulla sinistra si ha
di boolean e sulla destra ne hai un po ‘
i dati in a1 selezioneranno l’elemento in a
0 lo sopprime, quindi ecco un
esempio sai che prendi il sai
prendi il modulo di ogni numero scegli il
quelli che erano uguali a 0 risultanti in a
corsa booleana che attraverso la compressione e
esce i tuoi dati ma la compressione è
davvero copiando è per questo che in questo e da
il modo in cui sono i simboli che sono
usando è la mia notazione personale che io faccio
inventandolo in modo che non ci impantochiamo
giù in un linguaggio reale , quindi compressione
è davvero copia perché il numero
che io do è il numero di copie di esso
vogliamo così 0 è il modo conveniente di dire
Non voglio nessuna copia, eccoci qui
pronto per tornare a quell’esempio e
capisci cosa fa è che è uno
delle cose che penso è uno dei
pezzi più belli di codice APL e tu sei
pronto a capirlo mentre cammino
attraverso di esso quello che faremo è
come la figura come i numeri primi
nei numeri fino a fino a 15 sì
è solo un bel numero piccolo, quindi ok
siamo abituati a questo, generiamo Let’s
generiamo i primi 15 numeri interi che aggiungeremo
uno a ciascuno di loro
lasceremo cadere il primo perché uno
non è interessante per noi da quando siamo
stiamo cercando gamberi e io vado a
assegnalo a una variabile R ora I
scusa per l’utilizzo di una variabile, ma io
potrebbe fare questo senza la variabile ma
si trascinerebbe in modo molto più dettagliato in
una prima esposizione non è necessaria ma
la buona notizia è che è single statico
assegnazione
Non ho intenzione di riassegnare quella variabile
va bene così ora che ce l’abbiamo
l’area ombreggiata è qualcosa che è come
qualcosa tra parentesi abbiamo intenzione di
valutalo prima di andare avanti, ma io ordino
di come usare un evidenziatore invece di
parentesi e nidifica meglio e se
hai più colori è più facile
vedi ok quindi valutiamo questo sub
Espressione prima da pipistrello andiamo
torna alla scuola elementare e costruisci a
tabella di moltiplicazione di quei primi 15
numeri e moltiplicare tutti con
ogni altro in questo è l’esempio di
alzando la dimensionalità un classico
tecnica nella programmazione di array e una volta
l’abbiamo fatto, lo faremo
appiattiscilo, sai
preferiremmo che fosse così
unidimensionale perché stiamo andando a
usa la funzione di appartenenza e lo siamo
in realtà sta andando a prendere i nostri primi numeri
conosci 2 a 14 e trova quelli
che sono che sono nella tabella quelli
sono quelli che non vogliamo questi sono i
quelli che non erano lì dentro
quindi primi quindi ora tutto quello che dobbiamo fare è
il nostro taglio torna alla nostra copiatrice e
seleziona dai nostri numeri interi noi
volevo e abbiamo i nostri Prime così
nessun loop in una variabile faux e tu puoi
vedere la notazione in basso che io
ti ha risparmiato da questo non è poi così male
e se tu se non ti piace il greco
c’è l’ ASCII J che si può imparare
leggere bene, quindi ricorda quei solchi
apo ed è che le famiglie sono in a
scanalatura tutto loro moltissimo Mi piace moltissimo
è bello se tu dovessi spendere
il tempo per farlo entrare nella tua testa
lo ameresti e lo farebbe
ti mostrerei un nuovo meraviglioso modo di
pensa ma imparandolo è un po ‘
un po ‘ pungente e prometto che lo farà
espandi il tuo cervello così sono stato davvero
stare seduto tutto il tempo per parlare di più
path dependence e la rate programming
la comunità e anche noi siamo tutti bloccati
nella madre di tutti i solchi l’idea che
iniziato quando hanno bloccato un telescrivente
macchina su un computer e poi più tardi
su quando avevano schermi che emulavano
la macchina telescrivente e noi facciamo
tutto attraverso questo terribile piccolo
una linea alla volta imbuto allo stesso modo
quella piccola pallina da golf che era la testa
che la gente ha fatto un’escursione ad Ovest, è davvero una cosa
numero limitato di simboli e abbiamo
tutto su Unicode con cui lavorare ed essere
onesto non dobbiamo nemmeno essere bloccati
con Unicode possiamo sapere che possiamo usare
piastrelle colorate caramelle e e tu lo sai
salta direttamente a un iPad e hai mai
i bambini guardati hanno il loro primo
esperienza con un iPad e quanto velocemente
loro prendono a lui e cominciano a fare cose
comunque potremmo potremmo ripetere il test dell’array
programmazione per renderlo più facile da imparare
è un gioco di puzzle come dato di fatto
l’ APL e la sua discendenza J è davvero
molto un linguaggio di flusso di dati una volta
sapere cosa sta veramente succedendo è
rigorosamente dataflow e quindi questo è un
il piccolo gioco di puzzle II ha gettato insieme
dove piuttosto che averlo essere implicito
ti piace davvero vedere il percorso di
i dati mentre li attraversa e
tutto ciò che tocchi è l’immediato
la valutazione di esso e ti mostra ciò che era
a destra e cosa era a sinistra
e tutti i ranghi e tutto il resto così ora
lo faremo bene
quindi ecco ho fatto un po ‘di interazione
progettare l’altro giorno in modo da sospendere
incredulo e fingere per un minuto
questo è un iPad e stiamo solo andando a
avere tre caselle vuote in modo da poter afferrare
con il dito e trascinarlo fuori
premere su di esso e aprire un bel po ‘
ruota della nostra simbologia in pick pick of
le funzioni trascinano una casella per un nome e
allora sai di trascinarlo e lo farà
lasciati scorrere tra i numeri
può usare una tastiera ma non ci sono
il punto che sai che voglio scappare
da quella via di dipendenza lì
bisogno di un altro trascinamento più in alto va più veloce
e l’idea è ciò che è questa valutazione di lettura
il business del ciclo di stampa, in altre parole, lo è
come voglio una valutazione continua in
altre parole facciamo la consegna continua noi
fai continuo sai
unendo qual è la valutazione continua
mentre ci siamo specialmente in a
linguaggio come questo quindi è sempre così
valutando sempre se trascinerei il
in un altro modo voglio chiaramente fare un
elenca quindi cambia la funzione in qualcosa
fatto altrimenti ha fatto cadere un avverbio lassù
rendere lo spazio grande Sigma va bene così che dà
un’idea del vostro tipo di
cose che conosci queste lingue sono 50
anni in questo momento ne abbiamo molti
esperienza e io sono davvero di più
interessato ai prossimi 50 anni non lo è
andando ad andare via in altre parole 50 anni
da ora useremo ancora
computer che non abbiamo intenzione di dare loro
e cosa possiamo fare per contribuire ad alleviare
alcuni dei path dependence che erano
che siamo bloccati, quindi ecco un po ‘
esempio di come uscire da quello
una piccola linea unidimensionale che
poca paglia che scriviamo e facciamo
cose una riga alla volta ogni ora e
quindi usando le frecce su e giù per
ottenere la storia è come perché siamo noi
bloccato su una riga che era
qualcosa che ci è stato imposto da un
La macchina da scrivere Selectric possiamo andare a
due dimensioni in qualcosa che è
più come un mondo scrabble quindi questo pezzo
di codice è interessante questo è un questo è
una catena di tre verbi
beh, in realtà sono tre verbi e un
avverbio e quindi sto andando a questo è come
significa aritmetica e lavoreremo
la nostra strada fino ad alcuni rapidamente attraverso alcuni
statistiche di base e una volta
di nuovo questo si concentrerà sui dati
flusso e ti lascerà anche te
visualizziamo il parallelismo intrinseco let’s
diviso fare quei due e combinare e siamo
fatto e quindi è come possiamo possiamo dare
nomi di cose significativi che usano quello
tecnica di evidenziazione e così ora siamo
andando a sapere solo usare il normale
deviazione che la piccola mano indica
ci dice dammi la tesi secondo cui
era sulla destra, quindi non devo usare
una variabile e ora ci limiteremo a costruire
la nostra strada e sai che faremo la somma
dei quadrati delle deviazioni
sì, un piccolo cerchio che c’era era
la composizione della funzione lo noterai
quello è un operatore di sequenziamento e
è anche un collo di bottiglia quindi va bene
facciamo alcune idee futuristiche
ecco la mia piccola amica Karras e lei
giocando con i miei blocchi computazionali
che ho fatto di acrilico
non c’è elettronica nei blocchi
comunque lei sta giocando con loro e lei è
sai che lei se ne va, è solo
scolpendo un accordo lei è totalmente tattile
acquisisce maggior parte delle informazioni che
lei entrerà nel modello di come
lei interagirà con il mondo
attraverso queste prime esperienze e II
mi piace molto l’idea di ottenere
calcolo fuori dai computer e dove
stiamo andando è davvero con sempre di più
uso della visione è come se potessi uscire e
Posso acquistare una videocamera di profondità di Microsoft
per circa centoventicinque Stati Uniti
dollari e posso tirare un po ‘gli occhi
la realtà posso riconoscere le persone con le loro
scheletri e questo è appena iniziato
abbiamo vissuto con la legge di Moore per
da quanto tempo alcuni di voi là fuori sono vostri
tutta la vita non si conosce un tempo
non eri sottoposto a Moore
legge e non abbiamo una buona intuizione
per Exponential’s e non possiamo
apprezzare cosa si sta preparando a venire
giù nei prossimi 10 anni lo farà
essere assolutamente incredibile comunque con la visione di noi
dovrebbe essere solo in grado di scattare una foto
e basta sollevarlo in digitale
dominio lì andrebbe così puoi
vedi lo sto ancora facendo, voglio giocare
con quelle spille a destra voglio
giocare con quelle spille e sedersi
davanti a una grande TV ma voglio fare la mia
programmazione con manipul bowls e just
sollevarlo quindi ecco alcune risorse che ho
Immagino che questo sarà sul sito web
J è davvero molto interessante
linguaggio di programmazione di array ed è a
buon modo per allenare come pensi ken
Il discorso di Iverson per il suo premio Turing è un
deve leggere la sua notazione come strumento di
pensato in altre parole impara un po ‘
un po ‘ di programmazione in array prima non lo è
è che non vuoi che quella carta sia
la tua prima esposizione ma forse la tua
secondo o terzo ed è incredibile
carta
un’altra lingua interessante là fuori
è K e Q che è creato da KX è
per lo più utilizzato su Wall Street la matrice
la comunità di programmazione è piccola ma loro
avere clienti molto, molto, molto buoni e
lì non sono un articolo di base
sono molto molto ricercati e Wall
Street ingurgiterà qualsiasi K sicuro
programmatore quindi ovviamente c’è il
classico stesso i miei amici che dialogano
fare un classico e stanno adottando a
molte delle idee veramente buone da
J lentamente e poi naturalmente per il
persone che non hanno avuto tempo perché noi
è andato troppo veloce ecco le informazioni per
la mucca
bene direi di si e il mio preferito
il linguaggio di programmazione dell’array è in realtà
Mathematica e che loro loro loro
questo è esattamente quello che fanno
è come per me l’APL
le lingue o K o J deve essere completo
linguaggio quindi ad un certo punto devono
adotta il tipo di cose normali
ha bisogno di fare il tuo lavoro ma per me il
la vera bellezza è a livello di espressione
quindi lo vedo come un meraviglioso tipo di
linguaggio specifico del dominio o solo chiedere
il tuo fornitore di lingue per favore per favore
dateci le estensioni dell’array e e
non fare Plus e tempo così limitato in
le altre parole naturalmente le estendono, intendo
puoi immaginare quanto è bello un dato parallelo
JavaScript sarebbe intendo perché no
sai se il codice JavaScript sta per
Regola tra 50 anni da ora speriamo
avere un JavaScript parallelo di dati yep
loro sono sì e una verità in più
pubblicità tutta l’animazione e
ciò è stato fatto con Mathematica
sì, questo è quello è certamente un
un altro modo per farlo mi piace il the
notazione più compressa ma la lunghezza è
riconoscibile per me vedere che è il tipo di
cosa che una volta hai imparato a
pensa in questo modo
in termini di scrivere il tuo codice con
con potenti funzioni e utilizzo
potenti operatori con cui combinarli
e non posso più scrivere loop in altri
le parole mi sembra ogni volta che provo e
scrivere un ciclo Ho appena introdotto più bug
qualcuno ha questa esperienza così
quello che tu, ma una volta che hai imparato
pensa in questo modo
puoi farlo con qualsiasi cosa con qualsiasi cosa
oh, non lo so, non so davvero sospirare
ciao ma che adottano adottano il
idee perché vuoi fare grandi cose
operazioni all’ingrosso
Onore così a un certo livello ma io lo trovo
quando tu quando ti metti in
il vero spirito usando uno di
quelle lingue che prendi un po ‘
di tempo per tipo di sfondare in
questo tipo di composizione naturale
in altre parole diventa un te
diventa fluente nella lingua e nella tua
la mente è cambiata per sempre

Please follow and like us: