The Future of Programming
notes date: 2013-09-08
source links:
source date: 2013-07-09
- People are change averse: people who programmed in binary didn’t care about assembler like Symbolic Optimal Assembly Program (von Neumann reputedly disciplined a student who wasted precious computer time writing in assembler)
- Code -> direct manipulation
- Sketchpad (1962)
- bridge tensions based on a drawing and a small number of constraints
- Directly manipulate data structures
- Sketchpad (1962)
- Procedures -> goals and constraints
- Examples: Planner (1969), Prolog (1972)
- Pattern matching: SNOBOL (1962), Regexes (1967)
- How do two networked computers communicate if they don’t already know how?
- Having human programmers write APIs is very brittle (doesn’t scale well as the number of services increase, doesn’t scale well as protocols change)
- Textual code -> spatial representation of information
- Examples: NLS (1968), Grail (1968), Smalltalk Browser
- Interactive / Immediate responses
- Sequential -> Concurrrent
- Sequential model makes sense when only one processor.
- Threads and locks are kind of a dead-end, if we’re still using them in 40 years we should pack up and go home
- the Actor Model (1973)