The Future of Programming

Victor, B. (2013) The Future of Programming. Presented at Dropbox’s DBX conference. Retrieved from http://vimeo.com/71278954

Victor, B. (2013) A few words on Doug Englebart. Retrieved from http://worrydream.com/Engelbart/

Notes
Section: 1, 2, 3, 4.

Summary

Notes

2013:

"Technology changes quickly." -> "Moore's Law"

"People change slowly." Going from binary to assembly code (SOAP). Clerical work for people. * SOAP to Fortran

The idea that a real programmer does...

  1. "coding -> direct manipulation of data"
  2. "procedures -> goals and constraints"
  3. "text dump -> spatial representaions"
  4. "sequential -> concurrent"

Four big ideas. The work is broken into four sections.

1.

~6:30

1962 sketchpad

(overhead issue may fade)

2.

~9:50

1969 Planner

IF WE KNOW

P implies Q (p->q)

FORWARD CHAINING

When assert P -> assert Q

BACKWARDS CHAINING

When goal Q -> goal P

1972 Prolog

When goal Q

try goal Pi and ... and goal Pn

1962 Snobol

1967 Regular Expressions

"How do you get communications started amoung totally uncorrelated..."

(standards, negotiations, )

API application programming interfaces

limited exposed stuff, changes, brittle

3.

~16:30

1968 NLS (Mother of all demos?)

1968 Grail

symbol and handwritting recognition

1972 Smalltalk Browser

Visual collection based programming. -> spatially

1972 Plato

Immediate Response -> real time

importance of no delay/latency

4.

~22:00?

Massively Parallel

Von Neumann Bottleneck

CPU <-> Memory

Most of the memory is idle, most of the time.

1971 Semi-conductor integrated circuit - microprocessor

Massively Parallel Processor Array. And it scales! (kind of)

Today Threads and Locks. Fighting for resources Dead end * Does not scale

1973 Actor Model

distributed

dogma:

"a belief or set of beliefs that is accepted by the members of a group without being questioned or doubted" http://www.merriam-webster.com/dictionary/dogma

Programming was a new concept to the programmers of the 1960s and 1970s. Some of them were advanturous with it and explorered new and strange ways of giving a computer instructions.

Summary

Did he use the projector on purpose for effect?

Bret Victor's main message is to not give up on the creativity of coming up with ways of telling a computer what it compute.

References