Press "Enter" to skip to content

The Eve programming language – FunFunFunction #56


buon lunedì mattina sono mpj e tu sei
guardando la funzione fun fun today oggi siamo
esplorando il linguaggio di programmazione di Eva
anche nel caso non l’avessi già notato
Ho un po ‘ di colore dei capelli da golf
cosa sta succedendo e il motivo per quello
è che oggi è il giorno dopo Halloween
Ho anche ancora come questo residuo come
residuo di trucco nero dentro il mio mio
orecchie
Sono anche il risultato di una sbronza da tristi
ciao nei miei livelli di energia sono così
oggi faremo qualcosa
rilassandoci verificheremo Eve una nuova
linguaggio di programmazione per l’avampiede che ho
Ho guardato per un po ‘e volevo
per entrare e Whitney sai cosa
ti divertirai così?
cos’è Eva quattro anni fa, fantastico
strano e meraviglioso ragazzo che si chiama Brett
Victor me per parlare che è stato intitolato
inventando per principio l’ho collegato
sotto e dovresti assolutamente guardarlo
ma il TLDR è che la conferenza di Brett è un
X ingegnere Apple e tende a inventare
questi incredibili concetti di interfaccia utente e in questo
discorsi particolari lui esplora l’idea
di strumenti che ti danno un’immediata
feedback a quello che stai facendo in
parlare è fatto un paio di cose fantastiche
prototipi per dimostrare le idee
lui ha mostrato questo piuttosto bello
software di animazione con alcuni molto
pensieri innovativi ma il vero bello
la cosa che mostra è questa concettuale
ambiente di programmazione che ti dà
feedback immediato a quello che stai facendo
e ti permette di fare tutti i tipi di figo
cose come provare e viaggiare nel debugging e
roba quando ho visto questo discorso ho ottenuto davvero
entusiasta di esserci un molto
diversi fondamentalmente diversi
modo di fare sviluppo del software I
pensa che l’ evoluzione del software
gli strumenti di sviluppo sono stati piuttosto lenti
negli ultimi dieci anni o
forse sono lenti ma molto molto
incrementale non si sente come nessuno
ha ripensato a come facciamo le cose da a
punto di vista creativo mi sento come
i programmatori sono ancora bloccati nella stessa
Dark Ages in cui erano presenti i video editor
prima che tu avessi il montaggio digitale così prima
avevamo software come Final Cut e
iMovie e nessuna premiere e prima dei film
erano digitali quello che dovevi fare è quello
hai dovuto prendere le strisce di pellicola e tu
dovrebbe piacere fisicamente tagliarli
con un coltello e poi legarli insieme
è come è stato il montaggio e
una volta che lo hai fatto lo avresti messo
nel retro della macchina e guarda
attraverso di esso e poi ti rendi conto oh
dovremmo probabilmente tremolo e poi tu
avrebbe dovuto ridurli di nuovo e poi
rimettilo insieme e poi mettilo
di nuovo nella macchina che è molto
ingombrante rispetto a come lo è oggi
quando puoi semplicemente no no basta trascinare
le clip e li tagli un po ‘e
puoi giocare immediatamente senza rendering
tempi o qualsiasi cosa ti spaventi
esattamente quello di cui hai bisogno e puoi strofinare
avanti e indietro e vedere esattamente dove
fare il taglio è molto molto interattivo
ma la programmazione è abbastanza assurdamente bloccata
in questo vecchio mondo quando fai un
cambia nel tuo codice c’è quasi
sempre un po ‘di una specie di
tempo di compilazione o tempo di caricamento o
qualcosa anche se hai una fantasia
ambiente di caricamento della libreria è molto
raro che tu abbia davvero un
ciclo di feedback inferiore a uno
in secondo luogo e con cellulare nativo
lo sviluppo non è affatto raro
con tempi di costruzione fino a un minuto
lungo o anche più lungo e anche se lo hai
un ambiente in cui tu in realtà
riuscito a impostare un salvataggio molto veloce
ricarica ricarica push
mostra il ciclo dell’applicazione il
l’applicazione resetterà comunque il suo stato
ogni volta quindi diciamo che hai un
dove si verifica quando si apre un
menu e quindi fare clic su una cosa e quindi aggiungere
un’altra cosa in quella cosa c’è a
un paio di passaggi necessari per riprodurre
il bug così mentre stai cercando di risolvere il problema
questo quando fai una modifica devi
aspetta che la cosa si ricarichi e poi
devi passare manualmente e
fare clic e aprire il menu e quindi aggiungere
quella cosa e poi fare quella cosa e
vedi se la tua correzione ha funzionato così per la maggior parte
gli sviluppatori sono gli strumenti di sviluppo moderni
non come la strumentazione che professionale
i redattori video hanno oggi è più simile
gli strumenti che i redattori di video avevano
prima che esistessero strumenti digitali quando loro
dovevo sapere fare un piccolo taglio lì e poi
lo hai inserito e poi hanno dovuto guardare
al film dall’inizio alla fine in
per vedere dove fosse la loro modifica
buono o no, penso davvero che ci sia
un futuro in cui possiamo fare meglio e
Brett Victor nel suo discorso ha mostrato davvero un
accenno a quel futuro anche se lo era
solo un prototipo un paio di mesi
dopo questo discorso è stato rilasciato uno sviluppatore
chiamato Chris Granger è un X Microsoft
tipo
ha rilasciato il lighttable che era un piccolo
app prototipo e un post sul blog e a
video che dimostra un reale
attuazione del del l’
principi che il vettore di Breck aveva mostrato
nel suo discorso
è stato un incredibile proof-of-concept e
le persone erano molto eccitate e Chris
alla fine ha finito per creare un
Kickstarter per finanziare lo sviluppo di
tavolo luminoso ero un sostenitore di questo
campagna perché ero super eccitato e
la campagna è stata finanziata e anche Y
Combinator è andato a finanziare la compagnia
così pure il progetto è stato molto
ben finanziato sin dal suo inizio
il tavolo luminoso è stato un progetto davvero divertente
seguire ma alla fine il
ho iniziato a conoscere il vino e
non è successo niente e ho appena capito
che sì bene ma pochi mesi dopo
Eve arriva sulla scena che è simile
il prossimo passo nell’evoluzione di questo
processo di pensiero così anche non è un
editor o IDE è in realtà un
linguaggio di programmazione e una piattaforma e
un editor riuniti in un unico mi rendo conto che
questo tipo di utensili è molto
controverso per molte persone
anche se le persone amano molto loro
impostazione specifica e relativi strumenti e
va bene ma Eve ne ha così tanti
idee interessanti che penso che noi
dovrei metterli da parte per un po ‘
e permetterci di esplorare cosa Eva
ha da dire perché anche se decidiamo di no
per usare Eva penso che ci sia molto
di cose che possono essere apprese da Eva
da potervi tornare a casa nostra
ambienti di programmazione e alle volontà
e i linguaggi di programmazione Eve ne ha
principi di design molto interessanti così
prima di tutto è una programmazione letterale
lingua o forse si chiama literate
programmazione non sono sicuro che l’idea principale
è che scrivi il tuo programma in qualche modo
come una sorta di come un documento un Eva
il programma non sembra un normale
programma il codice sorgente che legge di più
come un articolo di programmazione su media
è è che scorre testo scorrevole in
Inglese e poi ci sono blocchi all’interno
con il codice effettivo quindi lasciami mostrare
tu un esempio questo è il questo è il
L’ambiente di programmazione EEP sei tu
disponibile con alcuni esempi in gioco
con calma di Eva o puoi farlo
localmente te stesso è open source e
è solo una implementazione di
un tipo di gioco flappy bird che ho appena fatto
clicca qui e sì sai che sono supposto
non per colpire i tubi e si gioco
sul lato sinistro qui vedi
il codice sorgente per così dire del
programma flappy eve quindi è questa intestazione
belle intestazioni e blocchi di markdown e
che spiega cos’è il software
circa e sì l’ Harris è impostato e
ecco un codice che scorro un po ‘
e vedi tutto qui un altro codice
blocchi e descrivono il mio controllo
mondo di gioco e qui è il menu del gioco
spiega come funziona anche tu notato
che è il linguaggio di programmazione
il linguaggio è molto molto terroristico , non lo è
un sacco di codice qui per rendere questo
gioco è piuttosto impressionante come
espressivo questa lingua è e voglio
per sottolineare che questo è il reale
ambiente di programmazione vediamo se io
può introdurre un errore qui o qualcosa del genere
se l’avessi fatto, va bene, lo vedi
Ottengo messaggi di errore in linea qui e io
appena cambiato e funziona quello che è
anche il bello di Eva è tutto
è incentrato sui dati che sento spesso
come in una programmazione orientata agli oggetti
lingue come un sacco di programmazione
tende ad ottenere nel modo in cui si deve
creare oggetti e quindi devi
creare fabbriche e poi devi
creare fabbriche per fabbriche e poi
devi creare modelli di design in
Per favore, sai, come se ci fosse un
molte cose e programmazione funzionale
anche le lingue tendono ad avere molto
questo fluff è che ci sono monadi e
c’è ci sono i partial e questo
currying è molto simile a quello che non è
sui dati che sei in realtà
manipolando e un obiettivo è molto focalizzato
sui dati così praticamente tutto dentro
EVE è un record e registra che guardano
come questo questo è un record il primo
cosa che succede qui è che noi
commetti anche qui un record per i nostri
mondo di gioco diamo un’occhiata a questo
seconda riga qui
questo è il nostro record e record quando io
prima li ho visti mi sembrava di avere un
molte somiglianze con l’oggetto
letterali in JavaScript che conosci
questa cosa del mondo qui avrebbe questo
stato scritto come menu sullo schermo se questo
Sto solo inventando questo, no
un po ‘di sceneggiatura, ma se lo fosse, lo farei
prendi il fotogramma qui e incollalo come mi piace
puoi vedere le somiglianze qui a destra
Lo cancellero ‘ cosi’
letterali oggetto in JavaScript questi
proprietà che non sono ordinate in a
così se mi muovo sposta questo codice fuori
qui e film prima della distanza che è
lo stesso obiettivo è quello che è
valido proprio come l’oggetto JavaScript
letterali ciò che mi ha confuso erano questi
questi hash tag mondo più sottile che guardano
strano e non ho davvero capito
quello che erano i primi ma loro lo sono
in realtà una scorciatoia per scrivere tag
il mondo vede che è la stessa cosa che è
solo zucchero sintattico se faccio lo stesso
cosa per questo ostacolo il record
sotto di esso sarebbe tag stringa o stella
chiama la stessa cosa qui questo è questo è
esattamente la stessa cosa di scrivere tag
ostacolo lo restituirò a
la sintassi del tag lì e il motivo per cui
c’è una scorciatoia per il tag è quel tag
sono usati una tonnellata nella programmazione e
linguaggio andiamo giù un po ‘qui
per disegnare il mondo del gioco ciò che è veramente
bello di Eva è che è molto
linguaggio di programmazione semplice questo non a
molte cose che devi imparare a usare
e questo è parzialmente perché è un
è un linguaggio di programmazione giovane in
JavaScript è stato molto semplice dal
all’inizio ma ora abbiamo generatori e
abbiamo le funzioni di freccia e abbiamo
tre diversi modi di dichiarare
variabili ci sono molti modi diversi di
creando oggetti e lalalalala ma Eva
ha solo due operazioni fondamentalmente
guardando i record per iscritto ai record
ordine e cerchiamo Eckert usando
cerca e qui assegniamo al
mondo variabile ogni record che corrisponde
questo modello e ricordalo
cosa qui questa è la stessa cosa di
la scrittura della modifica del mondo è solo per il momento per
quella
e scriverò andare qui e scrivere
ancora una volta questo fuori per ricordare di questo tag
mondo così qui abbiamo commesso questo
registra e questa operazione di ricerca qui
sarà appena uno di quei record
sembra che lo biascicherà e
per ogni mondo che vede ogni
record mondiale che sta per essere
assegnato alla variabile mondiale e quindi
continuerà a farlo
bloccare e invertire questo accade per
in ogni mondo abbiamo solo un mondo qui
ma se ne avessimo più di loro
questi ostacoli qui per esempio questi
sono più ostacoli che si stanno facendo
impegnato come record nel mondo di gioco
allora questa operazione di ricerca sarebbe
abbinare tutti loro e sarebbe disegnarlo
correre attraverso questa cosa per tutti
ognuno di questi dischi è sottile
cosa è che queste cose qui come il
i blocchi non sono necessariamente eseguiti in
ordinare questo potrebbe essere eseguito dopo questo
blocco ad esempio come l’ordinamento di
a questi blocchi non importa davvero
mangiare ordinando di
il coleus non ha molto di a
conseguenza in Eva perché tutto
esegue come tutto è reattivo
fondamentalmente così questa cosa verrà eseguita come
appena ci sarà qualche cambiamento al
record set di record nel file
database che sono contrassegnati con mondo così
non appena questo blocco qui ha un
mondo prima di questa linea di commit qui
si è eseguito questo codice sarà essenzialmente
non procedere così la prima volta questo codice
sta correndo, non vedremo davvero un mondo
e questo blocco non verrà eseguito non lo farà
non continuerò così la ricerca è
un po ‘come questo filtro o qualcosa del genere
un tipo di evento simile a un evento
ascoltatore forse
e questo è il richiamo a quell’evento
ascoltatore un po ‘così una volta che abbiamo il nostro
mondo procederà a questo blocco impegnarsi
qui commettono blocchi che scrivono record
la ricerca osserva i record secondo a
modellare e commettere blocchi che scrivono
i record e i blocchi di commit possono funzionare
un database in questo caso il database è
il database del browser e il database
ed Eva è un tipo di I like
interpretato come un semplice secchio nel quale tu
può mettere record e il database del browser
è osservato da alcuni collegamenti del browser
che Eva ha e questo è ciò che sta disegnando
cose sullo schermo quindi non lo fai
manipola il Dom direttamente in Eva
invece scrivi e crea record in
il database del browser, quindi qui no
completamente sicuro di cosa sta succedendo qui
questo qui è un se si guarda a questo questo
è una registrazione div, quindi questo è di nuovo
solo un record con un nome di tag di
ma è zucchero sintattico per questo e a
div ogni volta che il browser vede un record con
che div è in grado di disegnare quelle pareggio
quelli per lo schermo e quando eve
vede i record registrati dave div div
record con con il tag div scritto in
il database del browser che sta per disegnare
div equivalenti equivalenti al
Entra nel browser attuale così vedi
qui che questo è fondamentalmente come Dom it
ha stile e lo vedi di nuovo giusto
come gli oggetti letterali di Java Script Eve
i record possono contenere altri record di Eve così
questo attributo di stile qui contiene
ancora un altro record al suo interno è utente
selezionare e ha un po ‘di Java è CSS e
alcuni fantasiosi CSS e alcuni SVG
i bambini immagino che questo sia ok
la finestra di gioco si tratta di una sorta di
rettangolo questa è questa un’immagine
va bene questo è lo sfondo e quindi
c’è dell’altro rettangolo che non ho
sapere esattamente cosa sono queste cose ma
è roba che viene attirata da questo
SVG sullo schermo questo piccolo amico qui
questo è un operatore di fusione, quindi cosa?
significa che tutta questa roba è qui
questo div che contiene tutto questo
i bambini penso che sia tutto solo
un grande div in cui è stato fuso
il record del mondo quindi immagino quel mondo
anche il record riceverà un tag dannazione
la cosa mi confonde un po ‘forse qualcuno
questo è più familiare con Eve can can
spiegalo o qualcuno che può solo
leggi i documenti a differenza di me come ti senti
confuso sul fatto
che i record possono avere più tag a
io che è innaturale, forse è solo
perché penso a loro troppo
Oggetti JavaScript JavaScript ma io
non so che è solo strano, ma penso
questo si traduce nel mondo
ottenendo tutta questa roba al suo interno
il mondo è in realtà sia il div che
il regista che mantiene cose come
la gravità e il telaio non sono del tutto sicuri
quando li vedo operare da parte mia
pensare un po ‘di oggetto o
design in in JavaScript o punto dot
punto operatore nell’anno 7 cos’altro dovrebbe
Controlliamo di poter vedere come punteggio
il calcolo funziona che è carino
interessante
vedete qui piace ricordare la la
ricerca operatore ricerca cosa tostapane
cerca se faccio scorrere di nuovo verso l’alto e vedo come
qui dove abbiamo disegnato il mondo del gioco qui
fondamentalmente eravamo solo lasciati come un cambiamento
che torna al mondo originale – sì
qui stavamo cercando documenti che
avevano avuto il mondo del tag ma si può piacere
questo modello può essere molto di più
quello che si può vedere qui, come nel
calcolo del punteggio qui aggiungiamo anche
distanza qui per il modello e questo
significa che questo blocco di collegamento qui
che è associato con la ricerca si
esegui ogni volta che otteniamo un mondo con a
nuova distanza quindi appena distanza
aggiornamenti sul mondo questo blocco di bind
sarà suonato per quel mondo che vedi
legare qui aggiorna il mondo è il
il punteggio del mondo questo operatore qui che
significa impostare
questo attributo sull’oggetto mondo
e prende solo la distanza di
ama il mondo fondamentalmente quanto lontano abbiamo
ottenuto con il nostro uccello flappy flappy e
allora assegniamo che al punteggio dopo
noi lo pianifichiamo in modo che non ci capiamo
decimali questo è il modo in cui si chiama
funzioni in e non ho ottenuto troppo
molto in quello, eppure completamente
capirlo ma c’è un sacco di
funzioni incorporate anche nel loro aspetto
in questo modo chiami piano e poi
queste parentesi qui così non lo fai
usare le parentesi come si faceva nel
la maggior parte dei linguaggi di programmazione e questo è
in realtà per sottolineare il fatto che
le funzioni sono anche record in vigilia così
non è orientato al funzionamento
linguaggio di programmazione è in realtà a
linguaggio di programmazione orientato alla registrazione I
ipotesi o forse modello basato anche a
cosa che mi piace davvero è quella
operato argomenti o non sono
ordinato così nella maggior parte dei linguaggi di programmazione
né vorrebbe che ci sarebbe valore
un valore due e così via come loro
sarebbe solo come l’ordine del
i parametri determinano qual è il valore
è stato, ma in questo in EVE tutto questo è
registra di nuovo così come vedi qui
la distanza viene assegnata al
valore del parametro che viene passato a
piano quindi se avesse più parlamenti
che dovresti passare per terra
come dire o a uno o qualcosa e tu
assegnerebbe quel valore qui così che puoi
deduci sempre inferno che diavolo è
di entrare in funzione, senza
effettivamente andando a guardare il
metodo la firma della funzione che puoi
anche vedere semplicemente, cercando in esso che
è molto bello vedere come che usiamo
comprare la chiave
per cambiare il punteggio e qui usiamo
commetto non sono completamente sicuro del
differenza tra due so che legano
è a conoscenza del ciclo di vita di
registra che corrisponde durante il commit
fa solo qualsiasi cosa faccia
in modo permanente quindi se c’è un record che
sta per scomparire dopo dopo a
mentre continueranno a questi questi
i record che impegnano le casse rimarranno fermi
persistono mentre roba che per esempio
qui come il browser sta vincolando il
cosa del menu dello schermo aggiungerà questi
questi elementi di testo qui ma appena possibile
questo smette di abbinare questi record lo farà
anche anche morire legare fondamentalmente ordinare
di partite nel ciclo di vita o del
oggetti che è abbinato quindi se lo è
li crea avranno anche un breve
ciclo di vita non ne sono ancora completamente sicuro
capendo questo non sono nemmeno sicuro se
questo è un buon modo per programmare ma io sono
molto entusiasta , in qualche modo è solo
così diverso e intrigante ed è
il tuo divertimento mi fa andare il cervello a bocca aperta
buono buono buono, vi incoraggio tutti voi ad andare
giocare con Eve Tom e non appena tu
finirai per questo
QuickStart che è in realtà un modificabile
l’ambiente è bello, quindi se io
rimuovi questo e verrà aggiornato oltre
qui vedi o posso semplicemente fermare la fermata
stop stop stasera Corro di nuovo negli aggiornamenti
e ti guiderà attraverso il basic
concetti di record e orologi e insegnare
tu come scrivere un’applicazione Soria
Programmazione cool in stile Eve
lingua che dovresti controllare
hai appena visto un episodio di divertimento
funzione divertente li rilascio ogni mese
mattina Oh 800 GMT se non l’hai fatto
già dovresti controllare il canale
qui sotto e vedi se è qualcosa che tu
come se non pensassi di iscriverti a
me
Sto MGJ fino al prossimo soggiorno Lunedi mattina
sintonizzato
Please follow and like us: