Slide 1

Slide 1 text

2037

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

2064

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

1% 18% 82% Go JavaScript Bash

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

PROGRAMMING THE FUTURE

Slide 10

Slide 10 text

TXUS JOSEP M. BACH

Slide 11

Slide 11 text

PROGRAMMING IS FOR

Slide 12

Slide 12 text

PROGRAMMING IS FOR HUMANS

Slide 13

Slide 13 text

TEXT-BASED SYSTEMS https://www.flickr.com/photos/xenomurphy/8584275508

Slide 14

Slide 14 text

“WHY IS THE CANONICAL REPRESENTATION OF CODE A STRING?” Paul Phillips @ Pacific Northwest Scala Conference https:/ /www.youtube.com/watch?v=TS1lpKBMkgg

Slide 15

Slide 15 text

MENTAL TRANSLATION COST

Slide 16

Slide 16 text

DIRECT PROGRAMMING

Slide 17

Slide 17 text

FLAT REPRESENTATION OF CODE

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

LIVE REPRESENTATION

Slide 20

Slide 20 text

SLOW FEEDBACK LOOP

Slide 21

Slide 21 text

IMMEDIATE FEEDBACK LOOP

Slide 22

Slide 22 text

INTERACTIVITY

Slide 23

Slide 23 text

INTUITIVE LEARNING https://www.flickr.com/photos/drurydrama/2063103223/

Slide 24

Slide 24 text

MOMENTUM https://www.flickr.com/photos/aero_icarus/4591608703

Slide 25

Slide 25 text

VISUAL METAPHORS

Slide 26

Slide 26 text

http:/ /worrydream.com/MediaForThinkingTheUnthinkable/

Slide 27

Slide 27 text

“PROGRAMMING LANGUAGES ARE THE WAY PROGRAMMERS THINK ABOUT WRITING PROGRAMS” Barbara Liskov

Slide 28

Slide 28 text

TRANSFORMATION PROGRAMMING AS: DATA

Slide 29

Slide 29 text

UNOBSERVABLE INDIRECT INCIDENTALLY COMPLEX

Slide 30

Slide 30 text

VISUAL INTERACTIVE SIMPLE

Slide 31

Slide 31 text

1960s

Slide 32

Slide 32 text

DATAFLOW PROGRAMMING

Slide 33

Slide 33 text

DECLARATIVE

Slide 34

Slide 34 text

CONCURRENT BY DEFAULT

Slide 35

Slide 35 text

ADD

Slide 36

Slide 36 text

ADD 40

Slide 37

Slide 37 text

ADD 40 2 42

Slide 38

Slide 38 text

DATAFLOW + FUNCTIONAL

Slide 39

Slide 39 text

UNITS ARE THE ONLY PRIMITIVE (GENERALLY) PURE STATICALLY TYPED WIRES

Slide 40

Slide 40 text

COMPOSITION?

Slide 41

Slide 41 text

ADD DOUBLE INT INT INT INT INT 2 | 1 1 | 1

Slide 42

Slide 42 text

ADD THEN DOUBLE INT INT INT 2 | 1

Slide 43

Slide 43 text

REUSABILITY?

Slide 44

Slide 44 text

FUNCTOR UNITS

Slide 45

Slide 45 text

ADD THEN DOUBLE INT INT INT FMAP MAYBE INT MAYBE INT MAYBE INT

Slide 46

Slide 46 text

WHY ARE WE NOT THERE YET?

Slide 47

Slide 47 text

“THE PRESENT IS THE LEAST IMPORTANT TIME WE LIVE IN” Alan Kay

Slide 48

Slide 48 text

“THE PRESENT IS ALWAYS A SUBOPTIMAL OUTCOME OF THE PAST” Me

Slide 49

Slide 49 text

TECHNICAL NOVELTY VS
 WIDE ADOPTION

Slide 50

Slide 50 text

“WE SHOULDN’T HAVE MADE THE WHOLE GO EXPERIENCE SO GOOD, SO COMFORTABLE. WHAT WE SHOULD HAVE DONE IS LET THE WORLD SUFFER WITH C UNTIL THE PAIN WAS SO UNBEARABLE THAT PROGRAMMERS WOULD HAVE COME UP WITH SOMETHING RADICALLY BETTER. BE WARY OF LOCAL MAXIMA.” Shyu Shihong, Google CEO @ Google IO 2061

Slide 51

Slide 51 text

“I CURSE THE DAY WHEN SOFTWARE TURNED ITS BACK ON COMPUTER SCIENCE, BECAUSE FROM THAT DAY WE FOCUSED ON JUST FINDING BETTER ANSWERS, INSTEAD OF ASKING BETTER QUESTIONS.” Leng Bohai, Renaissance Project Lead

Slide 52

Slide 52 text

THANK YOU
 FOR MAKING HISTORY. txustice txus