
il mio nome è Phil inherence I’m assistant
professore alla Delft University di
Tecnologia in cui ricerco fogli di calcolo
molti di voi potrebbero pensare perché lo sono
stai parlando di fogli di calcolo a
Conferenza degli sviluppatori ma fogli di calcolo
sono spesso le persone con l’ etichetta errata a cui pensare
fogli di lavoro come dati mentre
i fogli di calcolo in realtà sono codice
fogli di calcolo sono codice se ti addormenti
ora nel tuo consiglio post-pranzo va bene
con me finché ottieni il main
messaggio di questo discorso che è
fogli di calcolo sono il codice che è davvero il
unica cosa che è molto importante
ricorda che vado in giro per il mondo con
questo discorso per diffondere il vangelo del mio
la vita è giusta è il nostro coraggio così tu
potrebbe non credermi immediatamente e io
hai tre ragioni per te perché
fogli di calcolo dovrebbero essere effettivamente
considerato pezzi di programmazione e il
il primo motivo è che sono usati molto
problemi simili come puoi vedere qui
questo è un investimento che ti calcolo
inserisci alcuni parametri e ottieni un
risultati bene è qualcosa che potresti
hanno anche costruito in Java o JavaScript o
Obiettivo C se vuoi creare un’app
non è un professionista specifico
dominio per un linguaggio di programmazione tu
potrebbe anche farlo in un foglio di calcolo e
Naturalmente si potrebbe chiedere perché il motivo per cui fare
le persone lo fanno in un foglio di calcolo e io
ho chiesto alle persone in molte aziende
ha lavorato con il motivo per cui stai facendo in
espresso perché non stai usando un vero
linguaggio di programmazione o un vero programma
quindi risulta che questo potrebbe venire come un
la sorpresa per voi risulta quel software
gli sviluppatori sono in realtà piuttosto cattivi
fare software per le persone che fanno
questi tipi di fogli di calcolo che hanno
nel tentativo di ottenere un buon software
il proprio dipartimento IT all’interno del
compagnia o vanno al loro IT preferito
fornitore e loro dicono hey che ho questo
modello di investimento potresti programmarlo
per me nel software sicuro dice l’IT
dipartimento ci saranno sei mesi e
cinque milioni di dollari e poi se lo fosse
vero non sarebbe nemmeno così male ma
di solito è dodici mesi e
venti milioni di dollari e ne ha la metà
le caratteristiche che vogliono così le persone iniziano
percependo se stessi come effettivamente carino
bravi programmatori rispetto a quello che loro
può ottenere dal dipartimento IT così
ha un senso da quello
prospettiva okay, questo è il primo
motivo per cui faccio di tutto per rendere il mio
punta a grandi lunghezze in effetti
che ho implementato una macchina di Turing
nelle formule del foglio di calcolo solo per dimostrare
che le formule del foglio di calcolo sono Turing
completa in modo che ora non puoi più dire
hey questa non è una vera programmazione
linguaggio perché guarda questo è un
vero linguaggio di programmazione come tutto il
gli altri esattamente come potenti come qualsiasi altro
linguaggio di programmazione là fuori e molti
alla gente piace molto questo Turing
macchina e un po ‘virale sul
internet quando è apparso
boeing-boeing ha portato il mio sito web verso il basso
anche per un po ‘perché così tanti
la gente lo visitava, quindi era un
colpire almeno in alcune zone oscure di
Internet quindi la seconda ragione per cui
dovresti considerare fogli di calcolo come
la programmazione è di cui soffrono
tipici problemi di ingegneria del software
ad esempio, solo un foglio di lavoro di entrata
ha un foglio di calcolo manuale sono utilizzati da un
media di dodici diverse persone oltre
la durata della loro vita è in media di cinque anni
quindi suona davvero come i problemi che abbiamo
avere in programmazione o forse il
programma i problemi che abbiamo avuto
programmazione negli anni ’60 e ’70 e
’80, quando la gente ha iniziato a rendersi conto che
lo script COBOL che un tempo costruivano era ora
ancora 10 anni dopo in uso così tipico
problemi di ingegneria del software che vediamo
vivo a fogli pure in modo in
riassumere le attività la complessità
e i problemi dei fogli di calcolo sono
molto molto simile ai problemi che abbiamo
avere in fogli di calcolo di codice sorgente sono
codice di nuovo questo è importante, ma io sono
andando ad andare oltre questo
fogli di calcolo non sono solo una programmazione
lingua sono la prossima programmazione
linguaggio che
dovresti imparare l’esistenza a
fogli di calcolo è inutile e poiché tu sei
già qui ho intenzione di assumere
che vuoi imparare a programmare a
foglio di calcolo ho di nuovo tre motivi
per quello che prima di tutto sa chi ha fatto
questa immagine da che cosa parla è
qualcuno lo sa, sì, è di Brad
Il discorso di Victor inventato per principio e
se non l’ hai visto è davvero
veramente cool
ma quello che Brad ti mostra qui è un
concetto chiamato live programming dove on
da un lato si ha il
programmazione del codice sorgente e su
dall’altra parte hai l’istanza di
quel codice e se cambi qualcosa
qui come un colore lo farà immediatamente
aggiornamento sul codice in esecuzione quindi non c’è
aggiunto ciclo di compilazione molto interessante Brad noi
ha avuto quella merda da VisiCalc
i fogli di calcolo sono la prima vita
programmazione perché cambi semplicemente il tuo
formula e ottieni immediatamente il
risultati non devi andare in un altro
schermo che non devi aspettare
compilation secondly spreadsheet sono
puramente funzionale, in qualche modo Haskell lo è
di nuovo alla moda e tutti all’improvviso
piace la programmazione funzionale ma tu
sapere cosa è anche la programmazione funzionale
eccellere è pura programmazione funzionale
se osservi una formula in a
foglio di calcolo è l’unica cosa che può fare una formula
fare è ottenere dati da altre celle e dare
un valore è impossibile per a
formula foglio di calcolo per creare un lato
effetto per apportare una modifica a a
suono diverso che è impossibile così
è un puro sistema funzionale che sapeva
in terzo luogo, perché dovresti assolutamente imparare
la programmazione di fogli elettronici è di tutti
lo sa, ma noi veramente siamo fogli di calcolo
il linguaggio di programmazione più popolare in
la storia di tutto ciò che tutti sanno
è come il tuo vicino di casa è
gestendo la sua squadra di football fantasy in a
foglio di calcolo è probabilmente il tuo contabile
facendo le tasse in un elastico tutti
lo sa, tranne noi sviluppatori che diciamo
è la vera programmazione di tutti così è
tempo per cambiarlo e sorprenderlo
sorpresa
questa sessione ti aiuterà a imparare
alcuni fogli di programmazione in modo tale da
ti convinco quanto è bello Excel sto andando
implementare la selezione sort in a
foglio di calcolo per mostrarti come puoi
programma correttamente chi sa come la selezione
funziona bene, non tutti me lo permettono
spiegalo
l’idea della selezione è quella che tu
ordina una lista di numeri o puoi ordinare
qualsiasi cosa, ma stiamo ordinando numeri questo
tempo prendendo oh questo sarà difficile
con una sola mano
posso avere un S oh puoi essere il mio
l’assistente Eric va bene anche tu
possono essere i miei assistenti in modo da poter tenere
questo per un minuto non vai proprio così
è più divertente del normale, si può solo
rimani qui si tiene in mano la prima voce
nella lista in modo da essere questa è la prima
elemento della lista e il modo in cui stiamo andando
per ordinare la lista, guardiamo la prima
articolo e cerchiamo il minimo in
nella lista prendiamo il minimo e poi
è la tua coda e poi scambiamo il
minimo, quindi scambiamo il minimo sì sì
Sono il minimo che tu sia il primo elemento
li scambiamo sì è perfetto così noi
scambiali e poi andiamo a quello successivo
elemento così ogni volta che prendiamo il primo
elemento grazie vuoi provarlo
dovrebbe funzionare ciao è questo
funziona sì ok si ok lo finirò
con un orecchino quindi selezionare l’ordinamento
stiamo andando a ordinare una lista di numeri per
scambiando ripetutamente il minimo e il
primo valore quindi qui ho appena messo il
indice Ho appena messo tutti i numeri
lì perché sarà più facile per noi
per conoscere l’indice di ogni numero nel nostro
array in modo la prima cosa che ci serve per
ordinamento per selezione è il minimo della
elenco
e fortunatamente Excel ha un built-in
funzione per cui prendiamo il minimo di
questa gamma e cosa possiamo fare qui qui
è il primo trucco che probabilmente tu
già non lo sapevo invece di usare il
gamma possiamo anche solo usare il tutto
riga
così alcune persone hanno visto questo quattro
colonne così fai a : B e poi tu
devi chiamarlo ma puoi anche farlo
quattro percorsi e questo non è quello
importante ora, ma tutto il senso alla fine
dell’attuazione che stiamo per fare
ho bisogno di questo trucco e questo è il motivo per cui mostro
ora a te quindi usiamo il minimo e
quello che ci serve è allora l’indice della
minimo abbiamo bisogno di sapere dov’è il
indice di questo minimo perché dobbiamo
trovare in modo da essere in grado di scambiarlo
e Excel ha una buona funzione per questo
chiamato partita che sta andando a cercare
quel valore in questo intervallo ci andiamo così
il valore 1 è sulla posizione 10 e
è corretto qui abbiamo 1 è acceso
posizione quindi così passo dopo passo siamo
andando a passare attraverso l’algoritmo così
Diamo prima un’occhiata a quando stiamo andando
scambia e inizialmente sto solo andando
segna i punti swap con una X e la
altri con un trattino basso in ordine
per poter essere più facilmente in grado di seguire
io così se l’indice è uguale all’indice
del minimo quindi dobbiamo scambiare e
altrimenti per ora useremo un
sottolineatura in modo da poter prendere la formula ah
non abbiamo ottenuto una X sulla posizione di
il minimo qualcuno sa cosa è andato
sbagliato qui cosa ho dimenticato
il simbolo del dollaro si, se trascini una formula
in Excel se lo trascini verso sinistra tutto
i riferimenti saranno automaticamente
aggiornato quindi se selezioniamo questa cella tu
vedi che ora sta prendendo questo minimo
ma anche guardando la cella prima di essa
invece di guardare questo e allora
possiamo fare per prevenire che possiamo mettere
in un segno di dollaro proprio qui e poi
questa colonna verrà riparata, quindi se trascini
la formula non verrà aggiornata e
quindi fondere che otteniamo una bella X piccola
proprio lì quindi questo è un posto noi
ora so che stiamo andando a scambiare e
Ho intenzione di introdurre anche un dollaro
lì perché più tardi lo faremo
trascinalo tutto in basso e vogliamo continuare
puntando l’intro quindi fammi solo mettere
quel dollaro lì
non ho bisogno di un’altra ricerca per loro va bene
quindi abbiamo bisogno di invertire anche noi
avere la posizione del minimo ma noi
anche bisogno della posizione di dove siamo noi
andando a scambiare così inizialmente andremo
scambiare con il primo valore se si
ricorda il mio dolce assistente con la presa
il primo indice che è qui così ora noi
è necessario invertire il funzionamento della partita
perché abbiamo la posizione ma vogliamo
per conoscere il valore in quella posizione e
c’è una funzione in Excel per questo come
indice ben chiamato che ti da
questa gamma questa gamma il valore di questo
colonna e che questo ruolo mi dispiace in
quella colonna quindi vedrà cosa
è al primo posto che otteniamo 13 così noi
avere entrambi i componenti ora conosciamo il
valore del primo oggetto e la posizione
questo è il primo e il valore del
minimo e la posizione del minimo
quindi vediamo prima questo
sottolineatura perché è più facile quando a
quali luoghi si fa a non dobbiamo scambiare bene
è abbastanza facile che ci scambiamo
se l’indice è uguale all’indice di
il minimo o se l’indice è uguale a
l’indice dello swap e in tutti gli altri
casi non stiamo facendo nulla lì noi
partire
dobbiamo scambiare le posizioni ora, così siamo
avvicinandosi non abbiamo ancora numeri ma
almeno sappiamo che la struttura di
le nostre condizioni hanno senso perché noi
ho segnato i punti con le X, quindi facciamolo
riempia in questa parte in primo luogo quale valore facciamo noi
prendi se non stiamo scambiando i takers sì
il valore della riga precedente che è
abbastanza facile, quindi possiamo solo indicare e
trascinalo verso il basso e vedi per tutto il
valori in cui non ci stiamo scambiando
prendendo solo il rock precedente e poi
abbiamo ancora due xe che abbiamo bisogno di
compila quindi aggiungo un po ‘
formattazione condizionale qui solo per
renderlo un po ‘più facile per voi a vedere
cosa sta succedendo , quindi seleziono lo swap
rendere il valore di scambio verde e minimo
valore giallo quindi è solo più facile da vedere
cosa sta succedendo
quindi cosa metteremo qui se
il nostro valore è uguale allo scambio di indici
valore di cui abbiamo bisogno qui al posto di
questo X il minimo corretto ci andiamo
se siamo pari al valore di swap che prendiamo
il minimo e nell’altra situazione
se siamo pari al minimo che prendiamo
il valore di scambio
selezione sort
prendiamolo e trascinalo verso il basso hmm
la colorazione ti mostra già questo
sta succedendo qualcosa di strano, quindi cosa?
ho dimenticato qui cosa è andato storto si
si molto bene quindi vedi nel minimo
Continuo a prenderne uno perché prendo il
almeno di questo intervallo
bene eccelle non ti ha coperto nessuna preoccupazione
perché c’è qualcosa che viene chiamato
la funzione di offset che muove un intervallo
sulla griglia in modo da poter prendere questo intervallo
e posso dire che nella prima situazione sono
andando a compensare con zero così questo
meno uno e poi ho tutto impostato uno con
due e tre prima e poi io
ottieni sempre il minimo della parte di
la matrice che non è ancora ordinata, quindi se
lo facciamo Tata
Non è che la bella selezione sorta ma è
non molto leggibile, quindi ti ho preso
coperto rendiamolo un po ‘più bello
un po ‘più facile per gli occhi perché
Non ho intenzione di convincere una folla di
gli sviluppatori con riferimenti di cella però
facciamo in modo che comunque sia bello per
per renderlo più bello dobbiamo andare davvero
nelle profondità spaventose di ciò che è
possibile in XML quindi devi andare a
un po ‘più spaventoso ma lo faremo
vieni fuori bene in ancora così una domanda e
questa domanda è ben correlata al
argomento di andare a pettinare perché è l’ argomento
è lo spazio e questa pazza formula che ho
qui c’è uno spazio e tu puoi
Dite anche se vi spiego questa sintassi
puoi sicuramente dire che lo siamo
andare audacemente dove nessuno è andato
prima
haha è lo spazio interiore senza spazio esterno
fantastico signore
così qualcuno sa che cosa questo funky
sintassi significa va bene che non è un problema che
non lo sapevo inizialmente se ho selezionato
forse hai un piccolo suggerimento di dove
non stiamo andando, quindi ciò significa che sono due
varia l’intersezione dei due
varia perché – perché è lo spazio perché?
interseca appena e poi i due intervalli
in molti altri posti nella lingua
gli spazi possono essere ignorati in modo da poter avere un
nome della funzione e quindi si può mettere
spazi tra gli argomenti è
tutto bene quindi in molti posti è così
spazio bianco indipendente tranne per questo
come fai a sapere che Felina bene ho scritto
questa è una grammatica per le formule di Excel
come ho scoperto che era piuttosto difficile
a causa di queste cose funky ma è
lì e possiamo usarlo in maniera carina
modo per rendere la nostra selezione un po ‘
un po ‘più bello perché quello che possiamo fare è se
facciamo questa gamma in un motore così noi
dammi questo mucchio di cellule
dargli un nome così ora vengono chiamati
indice e cosa possiamo fare allora se lo siamo
in una cella specifica invece di puntare
direttamente a questo e possiamo dire che vogliamo
avere l’intersezione di in del
intervallo di indice e la colonna in cui ci troviamo ora
quindi invece di puntare direttamente per ottenere e
diciamo che non avremo l’intersezione
tra la colonna in cui ci troviamo e il
intervallo di indice denominato che è carina
bello perché significa che puoi combinare
cose e questo e qui è opzionale
perché è già nella gamma che siamo
in modo da se togliamo che esso continuerà a funzionare
quindi possiamo dire da qui l’ indice significa
indicizzato nella posizione in cui siamo e
non dobbiamo chiamarlo se ripetiamo
questo trucco perché chiamiamo questo indice
min e min e index swap e scambiamo noi
può trasformarlo in questo
non è bello , è quasi auto
documentando se l’indice è indicizzato min
scambiamo e se l’indice è indice cosa
è il minimo sì, proprio come uno
cosa che III dobbiamo sbarazzarci di esso
ma possiamo usare lo stesso trucco perché questo
sarà nella stessa fila per tutto il tempo
perché se stiamo trascinando giù noi
continuamente ha bisogno di una fila davanti a noi
quindi vogliamo sbarazzarci di quel brutto III
e abbiamo bisogno
ancora più magia di fogli di calcolo per farlo
capita lì Whitney
andremo un po ‘più a fondo
nel concetto di nomi varia come
quelli l’indice e gli uomini e il
sono stati utilizzati i principali swap che puoi fare
trucchi abbastanza eleganti usando gli intervalli di nomi se
sai cosa stai facendo , eccomi qui
andando a fare una gamma di nomi per questo
cella e come abbiamo fatto prima
tuttavia, invece di farlo puntare a
indirizzo cellulare specifico possiamo anche inserire
qualcosa come una costante, così possiamo essere
tutto ciò di cui hai bisogno è amore e poi noi
può usare quell’intervallo denominato
tutto ciò di cui hai bisogno è amore e se lo usi
sembra che questo amore sia tutto ciò di cui hai bisogno
non è bello è così bello è poesia
in una formula possiamo andare un po ‘ oltre
di quello ci sono altre canzoni che io
capita che possiamo anche esprimere
utilizzando ad esempio intervalli di nomi funky
Paolo Nutini ha una canzone meravigliosa che
contiene questo testo per quanto io amo
tu mi amerai sempre di più
modello che è un’opera d’ arte quindi noi
inizia con un basso di costante diciamo
15 è quanto ti amo tanto che abbiamo appena messo
in una costante come abbiamo fatto con il
stringa prima che possiamo fare un secondo
costante il tuo amore che dipende dal mio
amore quindi ho messo una formula e quella
formula utilizza un’altra nametrain è
è davvero come programmare così il tuo
l’amore è 1,3 volte il mio amore ci andiamo
Tata in modo da avere una gamma denominata che sembra
come il tuo nome si allena come un nome ma esso
ha una formula al suo interno che dipende
su un altro nome giusto un po ‘di più
magia un altro strato di magia e poi
Ho finito, prometto guardiamo questo
canzone del famoso DJ olandese Armin di Buda
Si chiama tutti i giorni Ti amo di più
questo è un po ‘più elaborato rispetto al
canzone precedente perché quello era solo uno
indirezione
ti amerò Ti amo, ami di più ma ora
ha bisogno di ottenere di più ogni giorno così noi
ho bisogno di un po ‘più di magia, ripetiamo
dire
il nostro amore inizia alle 15 e quello che possiamo
usare è una funzione roll e una riga
funzione che puoi inserire e indirizzo della cella
quindi puoi dire che la riga di B 4 è 4 ma
se lo usi senza una discussione tu
ottieni il tiro corrente
quindi la fila in cui ci troviamo ora e che possiamo usare
per fare una dipendenza dalla cellula
sopra di essa, perché possiamo dire di ieri
l’amore è l’indirizzo, quindi stiamo andando
fai un riferimento di cella alla riga sopra
noi e la stessa colonna così ora abbiamo
la cella sopra la cella sopra di noi un c4
tuttavia quello che abbiamo ora è una stringa così
non è ancora l’indirizzo della cella e cosa
Excel ha una funzione chiamata indiretta
che è un po ‘ come il male dentro
JavaScript dove puoi inserire una stringa
e si ottiene il risultato di ciò che
è questo è ciò che è finché non ci metti
una stringa e quindi ottieni il riferimento
di ciò che è su quella cella così intuitivamente
sembra semplicemente di spogliarsi del
citazioni e ottieni un riferimento di cella così
queste due cose sono equivalenti che possiamo
usalo perché ora abbiamo l’indirizzo
della cella sopra di noi per trasformarla in a
riferimento ci andiamo
l’amore di ieri è l’indiretta fuori
cella sopra di noi nella stessa da freddo il
il valore nella cella sopra di noi sarà sempre
lavoro ma ovviamente non abbiamo ancora finito
perché ora il nostro amore rimane costante
ogni giorno è un po ‘triste che deve
salga altrimenti non specifica il
requisiti di testo quindi aggiungiamo semplicemente
fattore van Buuren di un punto zero zero
quattro non so quanto lui ama
tutti più ogni giorno quindi se lo metti
che nel trascinarlo abbiamo un
formula nell’intervallo denominato che dipende
sulla cella sopra di esso, quindi tutte queste cellule
l’interfaccia in realtà non lo mostra
chiaramente ma tutte queste cellule contengono
esattamente questa formula però ovunque
noi lo chiamiamo è diverso è magia
destra
quindi possiamo usarlo per farci fare il nostro
selezioni così più belle perché io
non è venuto qui per parlare di amore che ho
vieni qui per parlare di selezione sort
così che III possa andare ora con il nuovo
tecniche che abbiamo appena imparato perché
quello che possiamo fare è che possiamo fare un
riferimento alla riga precedente quindi la riga
e questo è ricordato all’inizio
ti ho detto questa sintassi funky dove tu
puoi usare una riga alla volta, ecco cosa
Io uso qui così faccio un riferimento alla
tutta la fila sopra di me dicendo la riga sopra
io e poi un colon e poi di nuovo il
fila sopra di me così posso cambiarlo ora
e poi se uso che sarà sempre
indica la riga sopra di me se la trascino
verso il basso e stiamo sempre puntando al
fila sopra di me in modo che tutte queste cellule possano avere
la stessa formula esatta perché lo farà
puntare alla fila sopra di me non è quello
bello se leggiamo come un orfano se il
indice è uguale al minimo dell’indice allora
scambia e se l’indice è uguale al
index swap quindi minimo altrimenti il
la riga precedente penso che sia un’opera d’ arte
solo per confronto ho anche fatto
selezione sort in Python sembra
questo non so quello che penso sia più
eleganza okay so cosa penso sia
aspetto più elegante che è solo uno
linea ed è coerente ovunque e
come bonus gratuito quale sorta di suoni
come uno scherzo ma in realtà è piuttosto un
piuttosto in profondità se si ottiene tutto il
dati qui in modo da poter guardare i dati
e programmazione allo stesso tempo mentre
se tu fossi in Python è piuttosto difficile
vedere
una volta che lo stai correndo su di te
Avrebbe bisogno del testo che testate in una sorta di
un’interfaccia alternativa che avresti
i tuoi dati considerando che qui specialmente per
prototipazione puoi vedere immediatamente cosa
sta succedendo se usi il condizionale
formattarlo è ancora più semplice, quindi è un
Davvero un bel modo se sai cosa sei
facendo per specificare algoritmi perché tu
avrà quell’aspetto di programmazione dal vivo
che Brad Victor parla di te
ricevi subito il tuo feedback in vista
senza un sacco di
cicli di compilazione della vite e senza a
grande distanza cognitiva tra cosa
stai facendo e come stai pensando
a riguardo, così potresti pensare di sì, ma tu
passare ore e ore e ore a pensare
circa l’ esempio più bello da fare
programmazione in Excel che è vero che sono
minuti alti un minuto che è molto
vero però una volta che sei in questa mentalità
in realtà Excel diventa davvero bello
strumento per pensare a questo tipo di
problemi quindi questo sono io amo settembre
e poi possiamo andare via con gli amici
dove stavamo partecipando a
programmazione della concorrenza ma dovevamo
risolvi alcuni dei puzzle di Eulero che
sono quiz matematici che puoi
risolvi con la programmazione quindi ne abbiamo fatto un po ‘
i puzzle e per esempio questo è post
chiamato triangolo in Excel ed è così
davvero molto facile da generare rapidamente
Il triangolo di Pascal e per questo per uno di
i puzzle di Eulero di cui avevamo bisogno per avere il
cercare e cercare il numero in modo da renderlo
si inizia con una di queste colonne rimane
lo stesso e tutti gli altri stanno solo aggiungendo
le due celle adiacenti e la trascini
verso il basso e hai il triangolo dei postcode e
se guardi altre soluzioni per
esempio questo è come appare in c
ed è così che appare in F sharp
è davvero abbastanza conciso ed elegante
fallo in un foglio di calcolo hai solo bisogno del
due formule che non hai bisogno di pensare
su quale struttura dati
sto andando a rappresentare un triangolo in
come sarà simile perché la vostra
interfaccia e la struttura dei dati sono
proprio lì e questa è una tua decisione
non devi fare più e qui è
un altro esempio in cui abbiamo fatto la dinamica
programmare in un foglio di calcolo dove tu
avere da un lato il foglio 1 che hai
i tuoi dati di input che non vedo – ottengono
molto facile da calcolare il massimo
di qualunque cosa tu possa ottenere in questo percorso
oltre al valore che otterremo
in questo nella cella in cui siamo e
ancora per confronto è così
guarda in C e questo è come appare
Haskell
mentre in Excel hai solo bisogno di uno
formula quindi sì, mi ha preso
molto tempo per creare alcuni esempi
ma una volta che sai come farlo è
in realtà uno strumento molto molto buono e il
amico stavo programmando con quello prima
abbiamo proposto di fare tutto dentro
Haskell anche a posto ci sono volute alcune ore
ma ad un certo punto ha ammesso che alcuni
le cose erano in realtà molto facili da fare
un foglio di calcolo in modo che tu possa pensare perché perché
perché stai facendo tutte queste cose
questa è una domanda giusta e ora siamo noi
andando a quello che è in realtà il mio vero lavoro
perché questo è tutto come il mio hobby
perché l’idea della ricerca è quella
Sto facendo alla Delft University di
La tecnologia sta rispondendo a questa domanda se
fogli di calcolo sono programmazione e io sono
certo tutti voi siete convinti di avere una logica
la domanda da fare è potremmo quindi usarla
metodi dall’ingegneria del software e
applicali sul dominio dei fogli di calcolo
avrebbe senso pensare a
si estende in quel modo e io in realtà
ha scritto una tesi di dottorato su questo argomento
sulla trasformazione dei metodi da
auto-rinnovamento per fogli di calcolo e il
un breve riassunto è sì, possiamo essere in grado di farlo molto
usare facilmente i metodi che conosciamo
lavoro e così per l’ingegneria e usarli
su fogli di calcolo invece così sto andando a
dare due esempi di strumenti che abbiamo costruito
aiutare le persone a migliorare il proprio foglio di calcolo
così viene chiamata una delle cose che costruiamo
Bumblebee ed è uno strumento di refactoring
per foglio di calcolo e ha senso se lo è
codice sorgente hai bisogno di un IDE giusto così
quello che fa è un plugin in Excel
qui lo vedi e se selezioni a
formula che è maleodorante che è un po ‘
un bit che non è ben scelto, per esempio
questo è la somma di un intervallo diviso per
il conteggio di un certo intervallo forse
qualcuno saprebbe come fare più facilmente
quel sì normale ma e così forse questo
la persona non era a conoscenza della media
funzione per la media forse no
un presupposto molto si può fare, ma
ci sono molte formule complicate
che le persone potrebbero non sapere o
una situazione intuitiva è quella giusta
è iniziato con un figlio e poi qualcuno ha detto
oh devi dividerlo per account e
si è evoluto sopra
senza che la gente capisca che potrebbe
anche usare le formule di costruzione attraverso il nostro
plugin in grado di rilevare che evidenzia questi
cellule maleodoranti e poi anche suggerirti
riscrive quindi possiamo dire hey che potresti
applica la somma e conta alla media
refactoring e si ottiene un bel po ‘
anteprima di come apparirà la tua formula
come e se ti piace, potresti dire
va bene applicandomi per me e poi
refactoring automaticamente la tua formula e
queste trasformazioni sono interamente
programmabile con un po ‘di linguaggio
sembra una formula per fogli di calcolo, quindi noi
avere un numero di rifacimenti degli edifici
ma potresti anche definire il tuo
refactoring quindi qui per esempio qui
hai il refactoring che ho appena mostrato
tu questo termine di qualcosa diviso per
il conteggio di qualcosa che puoi riscrivere
quello alla media di qualcosa e noi
pensa che gli utenti finali più potenti che
anche scrivere codice VB potrebbe essere in grado di
scrivere questo tipo di trasformazioni e
allora puoi anche andare oltre il regno di
il refactoring non necessariamente ha
da un comportamento più preservare voi
potrebbe anche scrivere regole di trasformazione
per esempio implementare nuovi affari
regole così hai usato per calcolare un prestito
basato sul reddito e ora lo vuoi
calcolarlo in base al reddito e all’età come
bene tu scrivi una regola di riscrittura e tu
può alla fine trasformare tutto il
fogli di calcolo che hai in modo coerente
modo così che è qualcosa che siamo attualmente
esplorare e questo è disponibile se tu
voglia di provarlo si può andare al mio
sito Web e scaricarlo è solo per
Excel e per il suo solo per Windows
quindi puoi provarlo con cui puoi giocare
le regole di trasformazione aggiungono il tuo nuovo
trasformazioni e vedere se ti piace
o consigliare le persone che conosci che tu
fogli di calcolo da solo per usarlo e poi di
corso dopo che abbiamo fatto uno strumento di refactoring
se dici refactoring, dici test
sì corretto
se hai intenzione di refactoring tuo
foglio di calcolo quindi ovviamente lo vuoi
anche testare il foglio di calcolo perché forse
se stai cambiando le formule in particolare
se non sono necessariamente un comportamento
preservando almeno quello che vuoi sapere
che continuano a soddisfare il tuo test e
la cosa interessante qui è che questo
era un tipico errore di torre d’avorio che io
fatto io
il pensiero all’inizio è il paradiso
già così difficile da ottenere gli sviluppatori normali
testare e convincere la gestione di
gli sviluppatori che testano sono qualcosa di te
dovrebbe passare il tempo su così come sono sulla terra
avremo sviluppatori di fogli di calcolo
per testare risulta che in realtà sono
già abbastanza bravi tester così abbiamo trovato
molte formule come questa così è
qualcosa che qualcuno ha messo dentro
se alcuni di questi ragazzi non sono un
centinaia allora emetterò errore e
altrimenti farò uscire al 100% questo è
davvero come un test e perché c’è
no e unità o unità J per fogli di calcolo
cosa usano le persone bene che usano
formule ma si potrebbe sicuramente dire
questo è un test che sta scrivendo un
affermazione che questi dovrebbero sempre sommarsi
fino a cento o errore e abbiamo trovato
molte formule come questa e, naturalmente
puoi sfruttarlo se la gente già
avere questo tipo di formule lì dentro
allungando puoi estrarlo in a
test suite quindi è esattamente ciò che è nostro
lo strumento è bello expecto e alcuni
più nascosto dietro questa bella lampada si aspetta
o e quello che puoi fare è che puoi trovare
test esistenti in un foglio di calcolo e quindi
guarderà l’intero
foglio di calcolo e dice hey ho trovato
qualcosa che sembrava un test il
esprime il questionario sell-on d-10
che il alcuni di questi ragazzi dovrebbe essere un
cento e quindi se siete d’accordo che quella
è davvero quello che volevi metterti alla prova
posso dire ok e hai una settimana di test quella
ora puoi eseguire così puoi eseguire il test
e dice che uno di questi è passato
anzi, il cento per cento non è quello
bello e oltre a ciò che puoi
mostra anche la copertura di ciò che hai testato
Suites puoi sapere tutte le cose così
puoi dire ok mostrami cosa è testato
queste cellule sono testate perché discutiamo
la cella di prova viene testata e anche tutto il
anche le celle da cui dipende questa cella
i test ovviamente sono molto lenti
definizione di copertura non stiamo parlando
copertura della filiale per la copertura della vostra dichiarazione
stiamo solo guardando in quale area del tuo
almeno un foglio di calcolo è coperto da alcuni
test e se questo è qualcosa che assumiamo
se questo è qualcosa che le persone sono
Usato
bene e forse possiamo arrivare al livello
anche di gopher di ramo è dove tu
avere se dichiarazioni e hai bisogno di più
prova per loro di essere completamente testato cosa
anche noi abbiamo qui vogliamo aiutare
le persone aggiungono nuovi test perché non lo sono
è facile sapere che cosa dovresti testare
quindi abbiamo tre quattro semplici opzioni
può testare la formula formula complessa
con un grande valore o una formula che ha
molte celle prima di essa nel
catena di calcolo così hey tu voglia
prova una formula complessa che ho trovato
qualcosa per te che sembra carina
complesso questo è che c’è un piccolo nido
cosa sta succedendo qui forse questo è
qualcosa che vuoi testare e tu dici
si voglio che tu faccia clic su make test e
quindi puoi specificare alcune cose semplici
quindi puoi dire che dovrebbe essere un numero B
testo e il valore superiore in valore più basso
di nuovo non abbiamo necessariamente bisogno del
ricchezza di test che useresti per
software perché lo scenario è
diversi vogliamo mantenerlo così semplice
almeno possibile per questo per questo
punto nel tempo in modo da poter impostare alcuni
soglie e salvarlo e questo è huh
guarda che hai aumentato il tuo
copertura dal 6% all’8 proviamo a farcela
un po ‘di sentimento per le persone
aggiungi altri test e ora hai 3
per test nella tua suite di test che tu
può passare così facciamo qualcuno quello che già
abbiamo e ora abbiamo anche questi due e
questo 2 è disponibile dal mio sito Web e
in realtà sorprendentemente anche per me questo è
andando davvero bene così oltre un migliaio
le persone hanno già installato il nostro plugin
e stanno continuamente cercando di testare
i loro fogli di calcolo e lavorando con esso
quindi per la ricerca è davvero interessante
per vedere se questo tipo di modelli
corrisponde al tipo di modelli che vedi
nei normali test del software ci sono
plugin come questo per esempio
eclipse un plugin che è stato realizzato anche da my
gruppo di ricerca si chiama cane da guardia che
rileva il tipo di comportamento del test
che lo stai facendo quando metti alla prova quando
si aggiorna il test quando si esegue un test
e sarebbe molto interessante da vedere
se i modelli tra software
sviluppatori e sviluppatori di fogli di calcolo
sono simili in termini di test
e in quali casi sono una differenza
in modo che è più o meno tutto quello che volevo
parlare prima di andare alle domande
perché abbiamo un po ‘di tempo per le domande
Vorrei riassumere rapidamente intero mio discorso
in meno di un minuto
quindi se ti sei perso qualcosa perché lo so
è giusto dopo pranzo, quindi forse lo sei
dormendo forse sei andato in un bel pub
ieri sera quindi questo è il tuo secondo
possibilità di ottenere l’intero discorso almeno
il succo e se tu stavi pagando
attenzione ovviamente questo è ottimale
preparazione per la domanda chiedendo così il
fogli di calcolo di riepilogo di una frase sono
freddo ricordalo e dillo a tutti
amici e mai e poi mai più dire
qualcuno che sta costruendo un foglio di calcolo
non sei un vero programma perché
fogli di calcolo sono utilizzati per simili
i programmi sono Turing e
soffrono soffrono di software tipico
problemi di ingegneria non sono solo un
linguaggio di programmazione sono nuovi e
hip e happening sono la vita che sono
puramente funzionale e si potrebbe anche
quasi dire nonostante queste due cose loro
sono conosciuti da tutti così ti ho mostrato
che implementando la selezione sort in a
foglio di calcolo in un modo abbastanza elegante se io
la mia faccia potrebbe dirlo e la mia ricerca è
di applicare i metodi da così Fran
Janine a fogli di calcolo perché se loro
codice che ha senso e per
che costruisco uno strumento di refactoring e a
strumento di test da cui è possibile scaricare
il mio sito web se vuoi maggiori informazioni
questo è il mio sito personale dove parlo
sulla ricerca e puoi scaricare il mio
strumenti questa è la parola il sito web di
il gruppo di ricerca che eseguo dove costringo a
un sacco di studenti universitari anche a questo piace
e se vuoi saperne di più puoi farlo
di nuovo puoi mandarmi anche un tweet
sarà qui tutto il giorno anche alla festa
quindi sentitevi liberi di parlarne con
avvicinarsi a me se si vuole parlare
o se non vuoi farlo, puoi farlo
mandami anche un’email per qualsiasi domanda
qualsiasi cosa sugli interwebs Oh un sacco di
cose
è solo su Excel o anche su
calc e questo riguarda anche altri strumenti
quindi ovviamente le idee che presento
sono molto generici potresti usarli
per qualsiasi sistema di foglio di calcolo tuttavia noi
implementato solo per Excel
perché beh questo è solo un fatto
standard e vogliamo costruire strumenti che
le persone usano così possiamo monitorarle
comportamento così sfortunatamente non lo è
davvero lavoro di ricerca da implementare per
molti sistemi diversi che non lo farebbero
essere necessariamente qualcosa che sarei
premiato per ma alcune parti del nostro nucleo
sono open source per esempio la grammatica
Ho parlato di github che puoi usare
e bene se vuoi costruire
qualcosa che potrebbe essere un buon inizio
ciao questo è un bel domanda che dire
controllo della versione immergendo e fondendo così
Dirò due cose a riguardo
prima di tutto c’è una startup britannica
chiamato get get gold spread get which is
esattamente quello che pensi sia che sia
buono per i fogli di calcolo così è
qualcosa che se si vuole veramente sapere che
da guardare e so anche che è una specie
di una parolaccia in questa comunità ma
le versioni più recenti di SharePoint sono
veramente bravo a fare la versione
controllo per i fogli di calcolo che puoi fare
autorizzazione o livello del foglio di lavoro e su
livello di cella e puoi anche vedere
diverse versioni lì e questo è
usato nel tipo di situazioni che anche
i fogli di calcolo vengono utilizzati in parte in questo modo
problema è abbastanza ben affrontato da
SharePoint mmm oh sì lo stesso tipo di
la stessa domanda è di nuovo solo
possibile in Excel o anche open source
software ho già risposto che noi
spesso si sviluppa con diverse morti in a
cooperazione software unica all’interno
fogli di calcolo così ancora che sarebbe
qualcosa che SharePoint o Google Documenti
che in parte si rivolgono ma anche il
lo scenario è un po ‘diverso
perché tipicamente le persone che fanno un
foglio di calcolo ho detto, naturalmente, nel
da cui è stato utilizzato un foglio di calcolo
dodici persone diverse ma questa è
in genere non allo stesso tempo così
i fogli di calcolo non sono sviluppati
insieme ciò che tipicamente accade è
qualcuno fa una bella versione e poi
il ragazzo nel prossimo ufficio dice oh posso
avere quel foglio di calcolo – e poi lì –
e poi succede lo sviluppo
indipendentemente così davvero lavorando insieme
su un foglio di calcolo che non ho visto che
molto e non so se questo è perché
gli strumenti davvero non lo supportano o
perché il processo dell’utente finale
la programmazione è molto orientata all’obiettivo
le persone non sono necessariamente
interessato alla manutenzione e al test
dicendo che in realtà non volevano ottenere
il lavoro svolto che di solito è personale
obiettivo e non non necessariamente un’azienda
obiettivi non mi piace riparare un libro di
il design è caduto bene in una frase mia
la dissertazione è una sorta di un libro su
schemi di progettazione quindi ho parlato principalmente qui
riguardo al lavoro sul refactoring e
test, ma prima c’era molto
di lavoro in realtà è quasi la metà di
la mia tesi sul rilevamento degli odori in
fogli di calcolo e quindi se si descrive
quali odori sono e hai anti
modelli e hai pattern così se
sei se tu fossi davvero interessato
in esso è se il PDF è anche il mio sito web
quindi è carino leggere se vuoi
per saperne di più yeah un altro che rivendichi
che Excel dispone di funzioni di alta ordine non
si si se si, quindi credo di averlo fatto
Ho fatto un post su di esso e quindi se tu
hackerarlo un po ‘quindi un trucco simile
Ho usato con le formule nel nome
istruttori puoi usare quello per imitare
funzioni di ordine superiore perché è possibile
fai un elenco di funzioni da qualche parte
il foglio di lavoro nascosto e poi il
la funzione che si utilizza potrebbe produrre un riferimento
a una di quelle celle quindi potresti dire
allora quello che sto emettendo è una funzione
e quindi puoi applicarlo ancora
un altro set così e voglio dire che ho scritto a
post sul blog abbastanza ampio su come
esattamente quello funziona con un esempio
foglio di calcolo che puoi scaricare così io
consiglio di leggerlo
ma allora II non direbbe necessariamente
questo è qualcosa che dovresti usare
Dico che è qualcosa se lo sei
interessato alla teoria che potresti
fai se questo è il tuo lavoro, non lo sono
raccomandando questo per la produzione solo
come giusto disclaimer se in un anno poi
ci sono orribili
errori poi Duncan che piange yeah così sono
convinto ora che Excel è codice o
i fogli di calcolo sono codice ma lo sono anche
dati corretti combinano i dati e il
il codice non è un problema e può esserlo
separati in qualche modo in modo da poter avere
l’ ordinamento generale di selezione e poi il
i dati applicano l’input sì che è molto
bella domanda così come molte delle cose
Penso che in fogli di calcolo questo è una sorta di
una spada a doppio taglio in modo da un lato
è davvero bello che il tuo co-sviluppo
il tuo algoritmo e i tuoi dati come vedi
io tipo di fare il tipo di selezione ma
quindi vuoi estrarre solo il
funzionalità e sorta di dividerlo
sarebbe forse una strada interessante per
ricerca per farlo, comunque un problema
c’è che alla gente piace davvero
soprattutto se non ci sono treni come
noi per astrazioni non è molto facile
per farlo e per quante persone potrebbero
non so è che in realtà Microsoft
L’accesso è stato una sorta di mirava a farlo in modo
l’accesso è una programmazione per l’utente finale
database questo è ciò che Microsoft ha pensato
quando lo hanno rilasciato è stato davvero
per le stesse persone che usano Excel potrebbe
utilizzare anche l’accesso è per un database per
il grande pubblico, tuttavia, il mio ex I
non ho davvero cercato questo dal mio
esperienza di lavoro con persone e banche
e compagnie assicurative è quello che è
un grande divario come tutti su Excel
lato e poche persone sono in grado di andare
un database che poche persone sono in grado di
pensa okay , prima mi occupo della progettazione
Scrivo i miei metadati e poi io
scrivi dati e poi scrivo calcoli
su di esso in tre diversi punti di vista
non è qualcosa che tutti possono fare così
se si vuole fare qualcosa per
dividere i dati e i calcoli
in qualche modo e non lo so
sapere come si dovrebbe superare il
problema che stai introducendo
astrazioni a persone che non hanno mai visto
così non so se molte persone
sarebbe in grado di fare il lavoro sì oh noi
devo aspettare il microfono mio
l’adorabile assistente si sta precipitando
altrimenti le persone nel video possono
ti sento così che cosa è facile da insegnare
sviluppatori per creare formule in Excel o
per insegnare alla gente per programmare in realtà
su Python o qualcosa di simile che è
una domanda molto buona , dipende da
la persona e anche sull’obiettivo di
Certo, quindi è probabilmente meglio se noi
avviciniamoci da entrambe le parti così davvero
sinceramente credo che se
gli sviluppatori conoscono un po ‘ di diffusione
barare che possono fare in alcuni casi
è meglio creare un foglio di calcolo
qualcuno che ha bisogno di uno strumento piuttosto che fare un
sistema perché così sarà
personalizzabile e avrà tutto il
vantaggi quindi è una specie di se sviluppatori
sarebbe venuto un pochino al
lato del foglio di calcolo , ma anche in
alcuni casi ed è bello come te
citato python e anche una programmazione
linguaggio come sono ci sono programmazione
lingue che lo rendono più ampio
pubblico e ancora non lo so davvero
perché Python è adottato così bene da
biologi e statistici di esempio I
non so cosa abbia Python
Java non c’è, certo che ci sono
molte differenze non so dove
la differenza sta nel fatto che potremmo provare ad imparare
da quello che cosa programmazione
le lingue si adattano e gli utenti migliorano così
dipende davvero da quello che stai facendo
perché una delle cose che sei
menzionare è che avremo un
molta impedenza tra ciò che sei
in realtà elaborando e ciò che vedi
come output di elaborazione , quindi programmazione
lingua più la visualizzazione così per
i taccuini ipython per esempio puoi
anche avere documentazione ed esecuzione
e tutto ciò nello stesso foglio di calcolo
questo ha sicuramente alcuni dei benefici
di programmazione dal vivo e facile esecuzione
Sì , non lo so, voglio dire che possiamo condividere
intuizioni ma non ho fatto ricerche
su esattamente quello che è non so così io
penso che sia una specie di risposta noiosa ma
dipende davvero in alcune situazioni
foglio di calcolo va bene in alcune situazioni
potresti voler dire e voler imparare
un po ‘di programmazione intendo non tutti
ne avremo bisogno a volte è solo
abbastanza per essere in grado di fare un po ‘di fretta
Calcolo offhand bene se non c’è
più domande li ringrazio per il
grandi chiacchiere e sicuramente ho imparato molto
professore alla Delft University di
Tecnologia in cui ricerco fogli di calcolo
molti di voi potrebbero pensare perché lo sono
stai parlando di fogli di calcolo a
Conferenza degli sviluppatori ma fogli di calcolo
sono spesso le persone con l’ etichetta errata a cui pensare
fogli di lavoro come dati mentre
i fogli di calcolo in realtà sono codice
fogli di calcolo sono codice se ti addormenti
ora nel tuo consiglio post-pranzo va bene
con me finché ottieni il main
messaggio di questo discorso che è
fogli di calcolo sono il codice che è davvero il
unica cosa che è molto importante
ricorda che vado in giro per il mondo con
questo discorso per diffondere il vangelo del mio
la vita è giusta è il nostro coraggio così tu
potrebbe non credermi immediatamente e io
hai tre ragioni per te perché
fogli di calcolo dovrebbero essere effettivamente
considerato pezzi di programmazione e il
il primo motivo è che sono usati molto
problemi simili come puoi vedere qui
questo è un investimento che ti calcolo
inserisci alcuni parametri e ottieni un
risultati bene è qualcosa che potresti
hanno anche costruito in Java o JavaScript o
Obiettivo C se vuoi creare un’app
non è un professionista specifico
dominio per un linguaggio di programmazione tu
potrebbe anche farlo in un foglio di calcolo e
Naturalmente si potrebbe chiedere perché il motivo per cui fare
le persone lo fanno in un foglio di calcolo e io
ho chiesto alle persone in molte aziende
ha lavorato con il motivo per cui stai facendo in
espresso perché non stai usando un vero
linguaggio di programmazione o un vero programma
quindi risulta che questo potrebbe venire come un
la sorpresa per voi risulta quel software
gli sviluppatori sono in realtà piuttosto cattivi
fare software per le persone che fanno
questi tipi di fogli di calcolo che hanno
nel tentativo di ottenere un buon software
il proprio dipartimento IT all’interno del
compagnia o vanno al loro IT preferito
fornitore e loro dicono hey che ho questo
modello di investimento potresti programmarlo
per me nel software sicuro dice l’IT
dipartimento ci saranno sei mesi e
cinque milioni di dollari e poi se lo fosse
vero non sarebbe nemmeno così male ma
di solito è dodici mesi e
venti milioni di dollari e ne ha la metà
le caratteristiche che vogliono così le persone iniziano
percependo se stessi come effettivamente carino
bravi programmatori rispetto a quello che loro
può ottenere dal dipartimento IT così
ha un senso da quello
prospettiva okay, questo è il primo
motivo per cui faccio di tutto per rendere il mio
punta a grandi lunghezze in effetti
che ho implementato una macchina di Turing
nelle formule del foglio di calcolo solo per dimostrare
che le formule del foglio di calcolo sono Turing
completa in modo che ora non puoi più dire
hey questa non è una vera programmazione
linguaggio perché guarda questo è un
vero linguaggio di programmazione come tutto il
gli altri esattamente come potenti come qualsiasi altro
linguaggio di programmazione là fuori e molti
alla gente piace molto questo Turing
macchina e un po ‘virale sul
internet quando è apparso
boeing-boeing ha portato il mio sito web verso il basso
anche per un po ‘perché così tanti
la gente lo visitava, quindi era un
colpire almeno in alcune zone oscure di
Internet quindi la seconda ragione per cui
dovresti considerare fogli di calcolo come
la programmazione è di cui soffrono
tipici problemi di ingegneria del software
ad esempio, solo un foglio di lavoro di entrata
ha un foglio di calcolo manuale sono utilizzati da un
media di dodici diverse persone oltre
la durata della loro vita è in media di cinque anni
quindi suona davvero come i problemi che abbiamo
avere in programmazione o forse il
programma i problemi che abbiamo avuto
programmazione negli anni ’60 e ’70 e
’80, quando la gente ha iniziato a rendersi conto che
lo script COBOL che un tempo costruivano era ora
ancora 10 anni dopo in uso così tipico
problemi di ingegneria del software che vediamo
vivo a fogli pure in modo in
riassumere le attività la complessità
e i problemi dei fogli di calcolo sono
molto molto simile ai problemi che abbiamo
avere in fogli di calcolo di codice sorgente sono
codice di nuovo questo è importante, ma io sono
andando ad andare oltre questo
fogli di calcolo non sono solo una programmazione
lingua sono la prossima programmazione
linguaggio che
dovresti imparare l’esistenza a
fogli di calcolo è inutile e poiché tu sei
già qui ho intenzione di assumere
che vuoi imparare a programmare a
foglio di calcolo ho di nuovo tre motivi
per quello che prima di tutto sa chi ha fatto
questa immagine da che cosa parla è
qualcuno lo sa, sì, è di Brad
Il discorso di Victor inventato per principio e
se non l’ hai visto è davvero
veramente cool
ma quello che Brad ti mostra qui è un
concetto chiamato live programming dove on
da un lato si ha il
programmazione del codice sorgente e su
dall’altra parte hai l’istanza di
quel codice e se cambi qualcosa
qui come un colore lo farà immediatamente
aggiornamento sul codice in esecuzione quindi non c’è
aggiunto ciclo di compilazione molto interessante Brad noi
ha avuto quella merda da VisiCalc
i fogli di calcolo sono la prima vita
programmazione perché cambi semplicemente il tuo
formula e ottieni immediatamente il
risultati non devi andare in un altro
schermo che non devi aspettare
compilation secondly spreadsheet sono
puramente funzionale, in qualche modo Haskell lo è
di nuovo alla moda e tutti all’improvviso
piace la programmazione funzionale ma tu
sapere cosa è anche la programmazione funzionale
eccellere è pura programmazione funzionale
se osservi una formula in a
foglio di calcolo è l’unica cosa che può fare una formula
fare è ottenere dati da altre celle e dare
un valore è impossibile per a
formula foglio di calcolo per creare un lato
effetto per apportare una modifica a a
suono diverso che è impossibile così
è un puro sistema funzionale che sapeva
in terzo luogo, perché dovresti assolutamente imparare
la programmazione di fogli elettronici è di tutti
lo sa, ma noi veramente siamo fogli di calcolo
il linguaggio di programmazione più popolare in
la storia di tutto ciò che tutti sanno
è come il tuo vicino di casa è
gestendo la sua squadra di football fantasy in a
foglio di calcolo è probabilmente il tuo contabile
facendo le tasse in un elastico tutti
lo sa, tranne noi sviluppatori che diciamo
è la vera programmazione di tutti così è
tempo per cambiarlo e sorprenderlo
sorpresa
questa sessione ti aiuterà a imparare
alcuni fogli di programmazione in modo tale da
ti convinco quanto è bello Excel sto andando
implementare la selezione sort in a
foglio di calcolo per mostrarti come puoi
programma correttamente chi sa come la selezione
funziona bene, non tutti me lo permettono
spiegalo
l’idea della selezione è quella che tu
ordina una lista di numeri o puoi ordinare
qualsiasi cosa, ma stiamo ordinando numeri questo
tempo prendendo oh questo sarà difficile
con una sola mano
posso avere un S oh puoi essere il mio
l’assistente Eric va bene anche tu
possono essere i miei assistenti in modo da poter tenere
questo per un minuto non vai proprio così
è più divertente del normale, si può solo
rimani qui si tiene in mano la prima voce
nella lista in modo da essere questa è la prima
elemento della lista e il modo in cui stiamo andando
per ordinare la lista, guardiamo la prima
articolo e cerchiamo il minimo in
nella lista prendiamo il minimo e poi
è la tua coda e poi scambiamo il
minimo, quindi scambiamo il minimo sì sì
Sono il minimo che tu sia il primo elemento
li scambiamo sì è perfetto così noi
scambiali e poi andiamo a quello successivo
elemento così ogni volta che prendiamo il primo
elemento grazie vuoi provarlo
dovrebbe funzionare ciao è questo
funziona sì ok si ok lo finirò
con un orecchino quindi selezionare l’ordinamento
stiamo andando a ordinare una lista di numeri per
scambiando ripetutamente il minimo e il
primo valore quindi qui ho appena messo il
indice Ho appena messo tutti i numeri
lì perché sarà più facile per noi
per conoscere l’indice di ogni numero nel nostro
array in modo la prima cosa che ci serve per
ordinamento per selezione è il minimo della
elenco
e fortunatamente Excel ha un built-in
funzione per cui prendiamo il minimo di
questa gamma e cosa possiamo fare qui qui
è il primo trucco che probabilmente tu
già non lo sapevo invece di usare il
gamma possiamo anche solo usare il tutto
riga
così alcune persone hanno visto questo quattro
colonne così fai a : B e poi tu
devi chiamarlo ma puoi anche farlo
quattro percorsi e questo non è quello
importante ora, ma tutto il senso alla fine
dell’attuazione che stiamo per fare
ho bisogno di questo trucco e questo è il motivo per cui mostro
ora a te quindi usiamo il minimo e
quello che ci serve è allora l’indice della
minimo abbiamo bisogno di sapere dov’è il
indice di questo minimo perché dobbiamo
trovare in modo da essere in grado di scambiarlo
e Excel ha una buona funzione per questo
chiamato partita che sta andando a cercare
quel valore in questo intervallo ci andiamo così
il valore 1 è sulla posizione 10 e
è corretto qui abbiamo 1 è acceso
posizione quindi così passo dopo passo siamo
andando a passare attraverso l’algoritmo così
Diamo prima un’occhiata a quando stiamo andando
scambia e inizialmente sto solo andando
segna i punti swap con una X e la
altri con un trattino basso in ordine
per poter essere più facilmente in grado di seguire
io così se l’indice è uguale all’indice
del minimo quindi dobbiamo scambiare e
altrimenti per ora useremo un
sottolineatura in modo da poter prendere la formula ah
non abbiamo ottenuto una X sulla posizione di
il minimo qualcuno sa cosa è andato
sbagliato qui cosa ho dimenticato
il simbolo del dollaro si, se trascini una formula
in Excel se lo trascini verso sinistra tutto
i riferimenti saranno automaticamente
aggiornato quindi se selezioniamo questa cella tu
vedi che ora sta prendendo questo minimo
ma anche guardando la cella prima di essa
invece di guardare questo e allora
possiamo fare per prevenire che possiamo mettere
in un segno di dollaro proprio qui e poi
questa colonna verrà riparata, quindi se trascini
la formula non verrà aggiornata e
quindi fondere che otteniamo una bella X piccola
proprio lì quindi questo è un posto noi
ora so che stiamo andando a scambiare e
Ho intenzione di introdurre anche un dollaro
lì perché più tardi lo faremo
trascinalo tutto in basso e vogliamo continuare
puntando l’intro quindi fammi solo mettere
quel dollaro lì
non ho bisogno di un’altra ricerca per loro va bene
quindi abbiamo bisogno di invertire anche noi
avere la posizione del minimo ma noi
anche bisogno della posizione di dove siamo noi
andando a scambiare così inizialmente andremo
scambiare con il primo valore se si
ricorda il mio dolce assistente con la presa
il primo indice che è qui così ora noi
è necessario invertire il funzionamento della partita
perché abbiamo la posizione ma vogliamo
per conoscere il valore in quella posizione e
c’è una funzione in Excel per questo come
indice ben chiamato che ti da
questa gamma questa gamma il valore di questo
colonna e che questo ruolo mi dispiace in
quella colonna quindi vedrà cosa
è al primo posto che otteniamo 13 così noi
avere entrambi i componenti ora conosciamo il
valore del primo oggetto e la posizione
questo è il primo e il valore del
minimo e la posizione del minimo
quindi vediamo prima questo
sottolineatura perché è più facile quando a
quali luoghi si fa a non dobbiamo scambiare bene
è abbastanza facile che ci scambiamo
se l’indice è uguale all’indice di
il minimo o se l’indice è uguale a
l’indice dello swap e in tutti gli altri
casi non stiamo facendo nulla lì noi
partire
dobbiamo scambiare le posizioni ora, così siamo
avvicinandosi non abbiamo ancora numeri ma
almeno sappiamo che la struttura di
le nostre condizioni hanno senso perché noi
ho segnato i punti con le X, quindi facciamolo
riempia in questa parte in primo luogo quale valore facciamo noi
prendi se non stiamo scambiando i takers sì
il valore della riga precedente che è
abbastanza facile, quindi possiamo solo indicare e
trascinalo verso il basso e vedi per tutto il
valori in cui non ci stiamo scambiando
prendendo solo il rock precedente e poi
abbiamo ancora due xe che abbiamo bisogno di
compila quindi aggiungo un po ‘
formattazione condizionale qui solo per
renderlo un po ‘più facile per voi a vedere
cosa sta succedendo , quindi seleziono lo swap
rendere il valore di scambio verde e minimo
valore giallo quindi è solo più facile da vedere
cosa sta succedendo
quindi cosa metteremo qui se
il nostro valore è uguale allo scambio di indici
valore di cui abbiamo bisogno qui al posto di
questo X il minimo corretto ci andiamo
se siamo pari al valore di swap che prendiamo
il minimo e nell’altra situazione
se siamo pari al minimo che prendiamo
il valore di scambio
selezione sort
prendiamolo e trascinalo verso il basso hmm
la colorazione ti mostra già questo
sta succedendo qualcosa di strano, quindi cosa?
ho dimenticato qui cosa è andato storto si
si molto bene quindi vedi nel minimo
Continuo a prenderne uno perché prendo il
almeno di questo intervallo
bene eccelle non ti ha coperto nessuna preoccupazione
perché c’è qualcosa che viene chiamato
la funzione di offset che muove un intervallo
sulla griglia in modo da poter prendere questo intervallo
e posso dire che nella prima situazione sono
andando a compensare con zero così questo
meno uno e poi ho tutto impostato uno con
due e tre prima e poi io
ottieni sempre il minimo della parte di
la matrice che non è ancora ordinata, quindi se
lo facciamo Tata
Non è che la bella selezione sorta ma è
non molto leggibile, quindi ti ho preso
coperto rendiamolo un po ‘più bello
un po ‘più facile per gli occhi perché
Non ho intenzione di convincere una folla di
gli sviluppatori con riferimenti di cella però
facciamo in modo che comunque sia bello per
per renderlo più bello dobbiamo andare davvero
nelle profondità spaventose di ciò che è
possibile in XML quindi devi andare a
un po ‘più spaventoso ma lo faremo
vieni fuori bene in ancora così una domanda e
questa domanda è ben correlata al
argomento di andare a pettinare perché è l’ argomento
è lo spazio e questa pazza formula che ho
qui c’è uno spazio e tu puoi
Dite anche se vi spiego questa sintassi
puoi sicuramente dire che lo siamo
andare audacemente dove nessuno è andato
prima
haha è lo spazio interiore senza spazio esterno
fantastico signore
così qualcuno sa che cosa questo funky
sintassi significa va bene che non è un problema che
non lo sapevo inizialmente se ho selezionato
forse hai un piccolo suggerimento di dove
non stiamo andando, quindi ciò significa che sono due
varia l’intersezione dei due
varia perché – perché è lo spazio perché?
interseca appena e poi i due intervalli
in molti altri posti nella lingua
gli spazi possono essere ignorati in modo da poter avere un
nome della funzione e quindi si può mettere
spazi tra gli argomenti è
tutto bene quindi in molti posti è così
spazio bianco indipendente tranne per questo
come fai a sapere che Felina bene ho scritto
questa è una grammatica per le formule di Excel
come ho scoperto che era piuttosto difficile
a causa di queste cose funky ma è
lì e possiamo usarlo in maniera carina
modo per rendere la nostra selezione un po ‘
un po ‘più bello perché quello che possiamo fare è se
facciamo questa gamma in un motore così noi
dammi questo mucchio di cellule
dargli un nome così ora vengono chiamati
indice e cosa possiamo fare allora se lo siamo
in una cella specifica invece di puntare
direttamente a questo e possiamo dire che vogliamo
avere l’intersezione di in del
intervallo di indice e la colonna in cui ci troviamo ora
quindi invece di puntare direttamente per ottenere e
diciamo che non avremo l’intersezione
tra la colonna in cui ci troviamo e il
intervallo di indice denominato che è carina
bello perché significa che puoi combinare
cose e questo e qui è opzionale
perché è già nella gamma che siamo
in modo da se togliamo che esso continuerà a funzionare
quindi possiamo dire da qui l’ indice significa
indicizzato nella posizione in cui siamo e
non dobbiamo chiamarlo se ripetiamo
questo trucco perché chiamiamo questo indice
min e min e index swap e scambiamo noi
può trasformarlo in questo
non è bello , è quasi auto
documentando se l’indice è indicizzato min
scambiamo e se l’indice è indice cosa
è il minimo sì, proprio come uno
cosa che III dobbiamo sbarazzarci di esso
ma possiamo usare lo stesso trucco perché questo
sarà nella stessa fila per tutto il tempo
perché se stiamo trascinando giù noi
continuamente ha bisogno di una fila davanti a noi
quindi vogliamo sbarazzarci di quel brutto III
e abbiamo bisogno
ancora più magia di fogli di calcolo per farlo
capita lì Whitney
andremo un po ‘più a fondo
nel concetto di nomi varia come
quelli l’indice e gli uomini e il
sono stati utilizzati i principali swap che puoi fare
trucchi abbastanza eleganti usando gli intervalli di nomi se
sai cosa stai facendo , eccomi qui
andando a fare una gamma di nomi per questo
cella e come abbiamo fatto prima
tuttavia, invece di farlo puntare a
indirizzo cellulare specifico possiamo anche inserire
qualcosa come una costante, così possiamo essere
tutto ciò di cui hai bisogno è amore e poi noi
può usare quell’intervallo denominato
tutto ciò di cui hai bisogno è amore e se lo usi
sembra che questo amore sia tutto ciò di cui hai bisogno
non è bello è così bello è poesia
in una formula possiamo andare un po ‘ oltre
di quello ci sono altre canzoni che io
capita che possiamo anche esprimere
utilizzando ad esempio intervalli di nomi funky
Paolo Nutini ha una canzone meravigliosa che
contiene questo testo per quanto io amo
tu mi amerai sempre di più
modello che è un’opera d’ arte quindi noi
inizia con un basso di costante diciamo
15 è quanto ti amo tanto che abbiamo appena messo
in una costante come abbiamo fatto con il
stringa prima che possiamo fare un secondo
costante il tuo amore che dipende dal mio
amore quindi ho messo una formula e quella
formula utilizza un’altra nametrain è
è davvero come programmare così il tuo
l’amore è 1,3 volte il mio amore ci andiamo
Tata in modo da avere una gamma denominata che sembra
come il tuo nome si allena come un nome ma esso
ha una formula al suo interno che dipende
su un altro nome giusto un po ‘di più
magia un altro strato di magia e poi
Ho finito, prometto guardiamo questo
canzone del famoso DJ olandese Armin di Buda
Si chiama tutti i giorni Ti amo di più
questo è un po ‘più elaborato rispetto al
canzone precedente perché quello era solo uno
indirezione
ti amerò Ti amo, ami di più ma ora
ha bisogno di ottenere di più ogni giorno così noi
ho bisogno di un po ‘più di magia, ripetiamo
dire
il nostro amore inizia alle 15 e quello che possiamo
usare è una funzione roll e una riga
funzione che puoi inserire e indirizzo della cella
quindi puoi dire che la riga di B 4 è 4 ma
se lo usi senza una discussione tu
ottieni il tiro corrente
quindi la fila in cui ci troviamo ora e che possiamo usare
per fare una dipendenza dalla cellula
sopra di essa, perché possiamo dire di ieri
l’amore è l’indirizzo, quindi stiamo andando
fai un riferimento di cella alla riga sopra
noi e la stessa colonna così ora abbiamo
la cella sopra la cella sopra di noi un c4
tuttavia quello che abbiamo ora è una stringa così
non è ancora l’indirizzo della cella e cosa
Excel ha una funzione chiamata indiretta
che è un po ‘ come il male dentro
JavaScript dove puoi inserire una stringa
e si ottiene il risultato di ciò che
è questo è ciò che è finché non ci metti
una stringa e quindi ottieni il riferimento
di ciò che è su quella cella così intuitivamente
sembra semplicemente di spogliarsi del
citazioni e ottieni un riferimento di cella così
queste due cose sono equivalenti che possiamo
usalo perché ora abbiamo l’indirizzo
della cella sopra di noi per trasformarla in a
riferimento ci andiamo
l’amore di ieri è l’indiretta fuori
cella sopra di noi nella stessa da freddo il
il valore nella cella sopra di noi sarà sempre
lavoro ma ovviamente non abbiamo ancora finito
perché ora il nostro amore rimane costante
ogni giorno è un po ‘triste che deve
salga altrimenti non specifica il
requisiti di testo quindi aggiungiamo semplicemente
fattore van Buuren di un punto zero zero
quattro non so quanto lui ama
tutti più ogni giorno quindi se lo metti
che nel trascinarlo abbiamo un
formula nell’intervallo denominato che dipende
sulla cella sopra di esso, quindi tutte queste cellule
l’interfaccia in realtà non lo mostra
chiaramente ma tutte queste cellule contengono
esattamente questa formula però ovunque
noi lo chiamiamo è diverso è magia
destra
quindi possiamo usarlo per farci fare il nostro
selezioni così più belle perché io
non è venuto qui per parlare di amore che ho
vieni qui per parlare di selezione sort
così che III possa andare ora con il nuovo
tecniche che abbiamo appena imparato perché
quello che possiamo fare è che possiamo fare un
riferimento alla riga precedente quindi la riga
e questo è ricordato all’inizio
ti ho detto questa sintassi funky dove tu
puoi usare una riga alla volta, ecco cosa
Io uso qui così faccio un riferimento alla
tutta la fila sopra di me dicendo la riga sopra
io e poi un colon e poi di nuovo il
fila sopra di me così posso cambiarlo ora
e poi se uso che sarà sempre
indica la riga sopra di me se la trascino
verso il basso e stiamo sempre puntando al
fila sopra di me in modo che tutte queste cellule possano avere
la stessa formula esatta perché lo farà
puntare alla fila sopra di me non è quello
bello se leggiamo come un orfano se il
indice è uguale al minimo dell’indice allora
scambia e se l’indice è uguale al
index swap quindi minimo altrimenti il
la riga precedente penso che sia un’opera d’ arte
solo per confronto ho anche fatto
selezione sort in Python sembra
questo non so quello che penso sia più
eleganza okay so cosa penso sia
aspetto più elegante che è solo uno
linea ed è coerente ovunque e
come bonus gratuito quale sorta di suoni
come uno scherzo ma in realtà è piuttosto un
piuttosto in profondità se si ottiene tutto il
dati qui in modo da poter guardare i dati
e programmazione allo stesso tempo mentre
se tu fossi in Python è piuttosto difficile
vedere
una volta che lo stai correndo su di te
Avrebbe bisogno del testo che testate in una sorta di
un’interfaccia alternativa che avresti
i tuoi dati considerando che qui specialmente per
prototipazione puoi vedere immediatamente cosa
sta succedendo se usi il condizionale
formattarlo è ancora più semplice, quindi è un
Davvero un bel modo se sai cosa sei
facendo per specificare algoritmi perché tu
avrà quell’aspetto di programmazione dal vivo
che Brad Victor parla di te
ricevi subito il tuo feedback in vista
senza un sacco di
cicli di compilazione della vite e senza a
grande distanza cognitiva tra cosa
stai facendo e come stai pensando
a riguardo, così potresti pensare di sì, ma tu
passare ore e ore e ore a pensare
circa l’ esempio più bello da fare
programmazione in Excel che è vero che sono
minuti alti un minuto che è molto
vero però una volta che sei in questa mentalità
in realtà Excel diventa davvero bello
strumento per pensare a questo tipo di
problemi quindi questo sono io amo settembre
e poi possiamo andare via con gli amici
dove stavamo partecipando a
programmazione della concorrenza ma dovevamo
risolvi alcuni dei puzzle di Eulero che
sono quiz matematici che puoi
risolvi con la programmazione quindi ne abbiamo fatto un po ‘
i puzzle e per esempio questo è post
chiamato triangolo in Excel ed è così
davvero molto facile da generare rapidamente
Il triangolo di Pascal e per questo per uno di
i puzzle di Eulero di cui avevamo bisogno per avere il
cercare e cercare il numero in modo da renderlo
si inizia con una di queste colonne rimane
lo stesso e tutti gli altri stanno solo aggiungendo
le due celle adiacenti e la trascini
verso il basso e hai il triangolo dei postcode e
se guardi altre soluzioni per
esempio questo è come appare in c
ed è così che appare in F sharp
è davvero abbastanza conciso ed elegante
fallo in un foglio di calcolo hai solo bisogno del
due formule che non hai bisogno di pensare
su quale struttura dati
sto andando a rappresentare un triangolo in
come sarà simile perché la vostra
interfaccia e la struttura dei dati sono
proprio lì e questa è una tua decisione
non devi fare più e qui è
un altro esempio in cui abbiamo fatto la dinamica
programmare in un foglio di calcolo dove tu
avere da un lato il foglio 1 che hai
i tuoi dati di input che non vedo – ottengono
molto facile da calcolare il massimo
di qualunque cosa tu possa ottenere in questo percorso
oltre al valore che otterremo
in questo nella cella in cui siamo e
ancora per confronto è così
guarda in C e questo è come appare
Haskell
mentre in Excel hai solo bisogno di uno
formula quindi sì, mi ha preso
molto tempo per creare alcuni esempi
ma una volta che sai come farlo è
in realtà uno strumento molto molto buono e il
amico stavo programmando con quello prima
abbiamo proposto di fare tutto dentro
Haskell anche a posto ci sono volute alcune ore
ma ad un certo punto ha ammesso che alcuni
le cose erano in realtà molto facili da fare
un foglio di calcolo in modo che tu possa pensare perché perché
perché stai facendo tutte queste cose
questa è una domanda giusta e ora siamo noi
andando a quello che è in realtà il mio vero lavoro
perché questo è tutto come il mio hobby
perché l’idea della ricerca è quella
Sto facendo alla Delft University di
La tecnologia sta rispondendo a questa domanda se
fogli di calcolo sono programmazione e io sono
certo tutti voi siete convinti di avere una logica
la domanda da fare è potremmo quindi usarla
metodi dall’ingegneria del software e
applicali sul dominio dei fogli di calcolo
avrebbe senso pensare a
si estende in quel modo e io in realtà
ha scritto una tesi di dottorato su questo argomento
sulla trasformazione dei metodi da
auto-rinnovamento per fogli di calcolo e il
un breve riassunto è sì, possiamo essere in grado di farlo molto
usare facilmente i metodi che conosciamo
lavoro e così per l’ingegneria e usarli
su fogli di calcolo invece così sto andando a
dare due esempi di strumenti che abbiamo costruito
aiutare le persone a migliorare il proprio foglio di calcolo
così viene chiamata una delle cose che costruiamo
Bumblebee ed è uno strumento di refactoring
per foglio di calcolo e ha senso se lo è
codice sorgente hai bisogno di un IDE giusto così
quello che fa è un plugin in Excel
qui lo vedi e se selezioni a
formula che è maleodorante che è un po ‘
un bit che non è ben scelto, per esempio
questo è la somma di un intervallo diviso per
il conteggio di un certo intervallo forse
qualcuno saprebbe come fare più facilmente
quel sì normale ma e così forse questo
la persona non era a conoscenza della media
funzione per la media forse no
un presupposto molto si può fare, ma
ci sono molte formule complicate
che le persone potrebbero non sapere o
una situazione intuitiva è quella giusta
è iniziato con un figlio e poi qualcuno ha detto
oh devi dividerlo per account e
si è evoluto sopra
senza che la gente capisca che potrebbe
anche usare le formule di costruzione attraverso il nostro
plugin in grado di rilevare che evidenzia questi
cellule maleodoranti e poi anche suggerirti
riscrive quindi possiamo dire hey che potresti
applica la somma e conta alla media
refactoring e si ottiene un bel po ‘
anteprima di come apparirà la tua formula
come e se ti piace, potresti dire
va bene applicandomi per me e poi
refactoring automaticamente la tua formula e
queste trasformazioni sono interamente
programmabile con un po ‘di linguaggio
sembra una formula per fogli di calcolo, quindi noi
avere un numero di rifacimenti degli edifici
ma potresti anche definire il tuo
refactoring quindi qui per esempio qui
hai il refactoring che ho appena mostrato
tu questo termine di qualcosa diviso per
il conteggio di qualcosa che puoi riscrivere
quello alla media di qualcosa e noi
pensa che gli utenti finali più potenti che
anche scrivere codice VB potrebbe essere in grado di
scrivere questo tipo di trasformazioni e
allora puoi anche andare oltre il regno di
il refactoring non necessariamente ha
da un comportamento più preservare voi
potrebbe anche scrivere regole di trasformazione
per esempio implementare nuovi affari
regole così hai usato per calcolare un prestito
basato sul reddito e ora lo vuoi
calcolarlo in base al reddito e all’età come
bene tu scrivi una regola di riscrittura e tu
può alla fine trasformare tutto il
fogli di calcolo che hai in modo coerente
modo così che è qualcosa che siamo attualmente
esplorare e questo è disponibile se tu
voglia di provarlo si può andare al mio
sito Web e scaricarlo è solo per
Excel e per il suo solo per Windows
quindi puoi provarlo con cui puoi giocare
le regole di trasformazione aggiungono il tuo nuovo
trasformazioni e vedere se ti piace
o consigliare le persone che conosci che tu
fogli di calcolo da solo per usarlo e poi di
corso dopo che abbiamo fatto uno strumento di refactoring
se dici refactoring, dici test
sì corretto
se hai intenzione di refactoring tuo
foglio di calcolo quindi ovviamente lo vuoi
anche testare il foglio di calcolo perché forse
se stai cambiando le formule in particolare
se non sono necessariamente un comportamento
preservando almeno quello che vuoi sapere
che continuano a soddisfare il tuo test e
la cosa interessante qui è che questo
era un tipico errore di torre d’avorio che io
fatto io
il pensiero all’inizio è il paradiso
già così difficile da ottenere gli sviluppatori normali
testare e convincere la gestione di
gli sviluppatori che testano sono qualcosa di te
dovrebbe passare il tempo su così come sono sulla terra
avremo sviluppatori di fogli di calcolo
per testare risulta che in realtà sono
già abbastanza bravi tester così abbiamo trovato
molte formule come questa così è
qualcosa che qualcuno ha messo dentro
se alcuni di questi ragazzi non sono un
centinaia allora emetterò errore e
altrimenti farò uscire al 100% questo è
davvero come un test e perché c’è
no e unità o unità J per fogli di calcolo
cosa usano le persone bene che usano
formule ma si potrebbe sicuramente dire
questo è un test che sta scrivendo un
affermazione che questi dovrebbero sempre sommarsi
fino a cento o errore e abbiamo trovato
molte formule come questa e, naturalmente
puoi sfruttarlo se la gente già
avere questo tipo di formule lì dentro
allungando puoi estrarlo in a
test suite quindi è esattamente ciò che è nostro
lo strumento è bello expecto e alcuni
più nascosto dietro questa bella lampada si aspetta
o e quello che puoi fare è che puoi trovare
test esistenti in un foglio di calcolo e quindi
guarderà l’intero
foglio di calcolo e dice hey ho trovato
qualcosa che sembrava un test il
esprime il questionario sell-on d-10
che il alcuni di questi ragazzi dovrebbe essere un
cento e quindi se siete d’accordo che quella
è davvero quello che volevi metterti alla prova
posso dire ok e hai una settimana di test quella
ora puoi eseguire così puoi eseguire il test
e dice che uno di questi è passato
anzi, il cento per cento non è quello
bello e oltre a ciò che puoi
mostra anche la copertura di ciò che hai testato
Suites puoi sapere tutte le cose così
puoi dire ok mostrami cosa è testato
queste cellule sono testate perché discutiamo
la cella di prova viene testata e anche tutto il
anche le celle da cui dipende questa cella
i test ovviamente sono molto lenti
definizione di copertura non stiamo parlando
copertura della filiale per la copertura della vostra dichiarazione
stiamo solo guardando in quale area del tuo
almeno un foglio di calcolo è coperto da alcuni
test e se questo è qualcosa che assumiamo
se questo è qualcosa che le persone sono
Usato
bene e forse possiamo arrivare al livello
anche di gopher di ramo è dove tu
avere se dichiarazioni e hai bisogno di più
prova per loro di essere completamente testato cosa
anche noi abbiamo qui vogliamo aiutare
le persone aggiungono nuovi test perché non lo sono
è facile sapere che cosa dovresti testare
quindi abbiamo tre quattro semplici opzioni
può testare la formula formula complessa
con un grande valore o una formula che ha
molte celle prima di essa nel
catena di calcolo così hey tu voglia
prova una formula complessa che ho trovato
qualcosa per te che sembra carina
complesso questo è che c’è un piccolo nido
cosa sta succedendo qui forse questo è
qualcosa che vuoi testare e tu dici
si voglio che tu faccia clic su make test e
quindi puoi specificare alcune cose semplici
quindi puoi dire che dovrebbe essere un numero B
testo e il valore superiore in valore più basso
di nuovo non abbiamo necessariamente bisogno del
ricchezza di test che useresti per
software perché lo scenario è
diversi vogliamo mantenerlo così semplice
almeno possibile per questo per questo
punto nel tempo in modo da poter impostare alcuni
soglie e salvarlo e questo è huh
guarda che hai aumentato il tuo
copertura dal 6% all’8 proviamo a farcela
un po ‘di sentimento per le persone
aggiungi altri test e ora hai 3
per test nella tua suite di test che tu
può passare così facciamo qualcuno quello che già
abbiamo e ora abbiamo anche questi due e
questo 2 è disponibile dal mio sito Web e
in realtà sorprendentemente anche per me questo è
andando davvero bene così oltre un migliaio
le persone hanno già installato il nostro plugin
e stanno continuamente cercando di testare
i loro fogli di calcolo e lavorando con esso
quindi per la ricerca è davvero interessante
per vedere se questo tipo di modelli
corrisponde al tipo di modelli che vedi
nei normali test del software ci sono
plugin come questo per esempio
eclipse un plugin che è stato realizzato anche da my
gruppo di ricerca si chiama cane da guardia che
rileva il tipo di comportamento del test
che lo stai facendo quando metti alla prova quando
si aggiorna il test quando si esegue un test
e sarebbe molto interessante da vedere
se i modelli tra software
sviluppatori e sviluppatori di fogli di calcolo
sono simili in termini di test
e in quali casi sono una differenza
in modo che è più o meno tutto quello che volevo
parlare prima di andare alle domande
perché abbiamo un po ‘di tempo per le domande
Vorrei riassumere rapidamente intero mio discorso
in meno di un minuto
quindi se ti sei perso qualcosa perché lo so
è giusto dopo pranzo, quindi forse lo sei
dormendo forse sei andato in un bel pub
ieri sera quindi questo è il tuo secondo
possibilità di ottenere l’intero discorso almeno
il succo e se tu stavi pagando
attenzione ovviamente questo è ottimale
preparazione per la domanda chiedendo così il
fogli di calcolo di riepilogo di una frase sono
freddo ricordalo e dillo a tutti
amici e mai e poi mai più dire
qualcuno che sta costruendo un foglio di calcolo
non sei un vero programma perché
fogli di calcolo sono utilizzati per simili
i programmi sono Turing e
soffrono soffrono di software tipico
problemi di ingegneria non sono solo un
linguaggio di programmazione sono nuovi e
hip e happening sono la vita che sono
puramente funzionale e si potrebbe anche
quasi dire nonostante queste due cose loro
sono conosciuti da tutti così ti ho mostrato
che implementando la selezione sort in a
foglio di calcolo in un modo abbastanza elegante se io
la mia faccia potrebbe dirlo e la mia ricerca è
di applicare i metodi da così Fran
Janine a fogli di calcolo perché se loro
codice che ha senso e per
che costruisco uno strumento di refactoring e a
strumento di test da cui è possibile scaricare
il mio sito web se vuoi maggiori informazioni
questo è il mio sito personale dove parlo
sulla ricerca e puoi scaricare il mio
strumenti questa è la parola il sito web di
il gruppo di ricerca che eseguo dove costringo a
un sacco di studenti universitari anche a questo piace
e se vuoi saperne di più puoi farlo
di nuovo puoi mandarmi anche un tweet
sarà qui tutto il giorno anche alla festa
quindi sentitevi liberi di parlarne con
avvicinarsi a me se si vuole parlare
o se non vuoi farlo, puoi farlo
mandami anche un’email per qualsiasi domanda
qualsiasi cosa sugli interwebs Oh un sacco di
cose
è solo su Excel o anche su
calc e questo riguarda anche altri strumenti
quindi ovviamente le idee che presento
sono molto generici potresti usarli
per qualsiasi sistema di foglio di calcolo tuttavia noi
implementato solo per Excel
perché beh questo è solo un fatto
standard e vogliamo costruire strumenti che
le persone usano così possiamo monitorarle
comportamento così sfortunatamente non lo è
davvero lavoro di ricerca da implementare per
molti sistemi diversi che non lo farebbero
essere necessariamente qualcosa che sarei
premiato per ma alcune parti del nostro nucleo
sono open source per esempio la grammatica
Ho parlato di github che puoi usare
e bene se vuoi costruire
qualcosa che potrebbe essere un buon inizio
ciao questo è un bel domanda che dire
controllo della versione immergendo e fondendo così
Dirò due cose a riguardo
prima di tutto c’è una startup britannica
chiamato get get gold spread get which is
esattamente quello che pensi sia che sia
buono per i fogli di calcolo così è
qualcosa che se si vuole veramente sapere che
da guardare e so anche che è una specie
di una parolaccia in questa comunità ma
le versioni più recenti di SharePoint sono
veramente bravo a fare la versione
controllo per i fogli di calcolo che puoi fare
autorizzazione o livello del foglio di lavoro e su
livello di cella e puoi anche vedere
diverse versioni lì e questo è
usato nel tipo di situazioni che anche
i fogli di calcolo vengono utilizzati in parte in questo modo
problema è abbastanza ben affrontato da
SharePoint mmm oh sì lo stesso tipo di
la stessa domanda è di nuovo solo
possibile in Excel o anche open source
software ho già risposto che noi
spesso si sviluppa con diverse morti in a
cooperazione software unica all’interno
fogli di calcolo così ancora che sarebbe
qualcosa che SharePoint o Google Documenti
che in parte si rivolgono ma anche il
lo scenario è un po ‘diverso
perché tipicamente le persone che fanno un
foglio di calcolo ho detto, naturalmente, nel
da cui è stato utilizzato un foglio di calcolo
dodici persone diverse ma questa è
in genere non allo stesso tempo così
i fogli di calcolo non sono sviluppati
insieme ciò che tipicamente accade è
qualcuno fa una bella versione e poi
il ragazzo nel prossimo ufficio dice oh posso
avere quel foglio di calcolo – e poi lì –
e poi succede lo sviluppo
indipendentemente così davvero lavorando insieme
su un foglio di calcolo che non ho visto che
molto e non so se questo è perché
gli strumenti davvero non lo supportano o
perché il processo dell’utente finale
la programmazione è molto orientata all’obiettivo
le persone non sono necessariamente
interessato alla manutenzione e al test
dicendo che in realtà non volevano ottenere
il lavoro svolto che di solito è personale
obiettivo e non non necessariamente un’azienda
obiettivi non mi piace riparare un libro di
il design è caduto bene in una frase mia
la dissertazione è una sorta di un libro su
schemi di progettazione quindi ho parlato principalmente qui
riguardo al lavoro sul refactoring e
test, ma prima c’era molto
di lavoro in realtà è quasi la metà di
la mia tesi sul rilevamento degli odori in
fogli di calcolo e quindi se si descrive
quali odori sono e hai anti
modelli e hai pattern così se
sei se tu fossi davvero interessato
in esso è se il PDF è anche il mio sito web
quindi è carino leggere se vuoi
per saperne di più yeah un altro che rivendichi
che Excel dispone di funzioni di alta ordine non
si si se si, quindi credo di averlo fatto
Ho fatto un post su di esso e quindi se tu
hackerarlo un po ‘quindi un trucco simile
Ho usato con le formule nel nome
istruttori puoi usare quello per imitare
funzioni di ordine superiore perché è possibile
fai un elenco di funzioni da qualche parte
il foglio di lavoro nascosto e poi il
la funzione che si utilizza potrebbe produrre un riferimento
a una di quelle celle quindi potresti dire
allora quello che sto emettendo è una funzione
e quindi puoi applicarlo ancora
un altro set così e voglio dire che ho scritto a
post sul blog abbastanza ampio su come
esattamente quello funziona con un esempio
foglio di calcolo che puoi scaricare così io
consiglio di leggerlo
ma allora II non direbbe necessariamente
questo è qualcosa che dovresti usare
Dico che è qualcosa se lo sei
interessato alla teoria che potresti
fai se questo è il tuo lavoro, non lo sono
raccomandando questo per la produzione solo
come giusto disclaimer se in un anno poi
ci sono orribili
errori poi Duncan che piange yeah così sono
convinto ora che Excel è codice o
i fogli di calcolo sono codice ma lo sono anche
dati corretti combinano i dati e il
il codice non è un problema e può esserlo
separati in qualche modo in modo da poter avere
l’ ordinamento generale di selezione e poi il
i dati applicano l’input sì che è molto
bella domanda così come molte delle cose
Penso che in fogli di calcolo questo è una sorta di
una spada a doppio taglio in modo da un lato
è davvero bello che il tuo co-sviluppo
il tuo algoritmo e i tuoi dati come vedi
io tipo di fare il tipo di selezione ma
quindi vuoi estrarre solo il
funzionalità e sorta di dividerlo
sarebbe forse una strada interessante per
ricerca per farlo, comunque un problema
c’è che alla gente piace davvero
soprattutto se non ci sono treni come
noi per astrazioni non è molto facile
per farlo e per quante persone potrebbero
non so è che in realtà Microsoft
L’accesso è stato una sorta di mirava a farlo in modo
l’accesso è una programmazione per l’utente finale
database questo è ciò che Microsoft ha pensato
quando lo hanno rilasciato è stato davvero
per le stesse persone che usano Excel potrebbe
utilizzare anche l’accesso è per un database per
il grande pubblico, tuttavia, il mio ex I
non ho davvero cercato questo dal mio
esperienza di lavoro con persone e banche
e compagnie assicurative è quello che è
un grande divario come tutti su Excel
lato e poche persone sono in grado di andare
un database che poche persone sono in grado di
pensa okay , prima mi occupo della progettazione
Scrivo i miei metadati e poi io
scrivi dati e poi scrivo calcoli
su di esso in tre diversi punti di vista
non è qualcosa che tutti possono fare così
se si vuole fare qualcosa per
dividere i dati e i calcoli
in qualche modo e non lo so
sapere come si dovrebbe superare il
problema che stai introducendo
astrazioni a persone che non hanno mai visto
così non so se molte persone
sarebbe in grado di fare il lavoro sì oh noi
devo aspettare il microfono mio
l’adorabile assistente si sta precipitando
altrimenti le persone nel video possono
ti sento così che cosa è facile da insegnare
sviluppatori per creare formule in Excel o
per insegnare alla gente per programmare in realtà
su Python o qualcosa di simile che è
una domanda molto buona , dipende da
la persona e anche sull’obiettivo di
Certo, quindi è probabilmente meglio se noi
avviciniamoci da entrambe le parti così davvero
sinceramente credo che se
gli sviluppatori conoscono un po ‘ di diffusione
barare che possono fare in alcuni casi
è meglio creare un foglio di calcolo
qualcuno che ha bisogno di uno strumento piuttosto che fare un
sistema perché così sarà
personalizzabile e avrà tutto il
vantaggi quindi è una specie di se sviluppatori
sarebbe venuto un pochino al
lato del foglio di calcolo , ma anche in
alcuni casi ed è bello come te
citato python e anche una programmazione
linguaggio come sono ci sono programmazione
lingue che lo rendono più ampio
pubblico e ancora non lo so davvero
perché Python è adottato così bene da
biologi e statistici di esempio I
non so cosa abbia Python
Java non c’è, certo che ci sono
molte differenze non so dove
la differenza sta nel fatto che potremmo provare ad imparare
da quello che cosa programmazione
le lingue si adattano e gli utenti migliorano così
dipende davvero da quello che stai facendo
perché una delle cose che sei
menzionare è che avremo un
molta impedenza tra ciò che sei
in realtà elaborando e ciò che vedi
come output di elaborazione , quindi programmazione
lingua più la visualizzazione così per
i taccuini ipython per esempio puoi
anche avere documentazione ed esecuzione
e tutto ciò nello stesso foglio di calcolo
questo ha sicuramente alcuni dei benefici
di programmazione dal vivo e facile esecuzione
Sì , non lo so, voglio dire che possiamo condividere
intuizioni ma non ho fatto ricerche
su esattamente quello che è non so così io
penso che sia una specie di risposta noiosa ma
dipende davvero in alcune situazioni
foglio di calcolo va bene in alcune situazioni
potresti voler dire e voler imparare
un po ‘di programmazione intendo non tutti
ne avremo bisogno a volte è solo
abbastanza per essere in grado di fare un po ‘di fretta
Calcolo offhand bene se non c’è
più domande li ringrazio per il
grandi chiacchiere e sicuramente ho imparato molto
Please follow and like us: