A small group of programmers wants to change how people codeābefore catastrophe strikes. ā from the Atlantic Magazine
- Basic Premise: Code is getting too complicated–how to make it work better for humans?
- Example: Problem with 911 calls going out due to simple counter bug
- Software is “eating the world” but unexpected complications create havoc
- Engineering is 1950s state of thinking: simple failures.
- Problem with code is that the complexity is invisible.
- Example of hackers remotely taking over a self-driving car.
- John Resig, creator of javascript, tech lead at Khan Academy, wondered why learning programming is so tough. He watched a talk by Bret Victor in Montreal in 2012, (Inventing on Principle), about how programming is broken, and how to fix it.
- Khan Academy has become perhaps the largest computer-programming class in the world, with a million students, on average, actively using the program each month.
- Bret wants to work with images instead of abstract text.
- Programming should be visual like WYSIWYG programs.
Example Pic:
- Airplane engineering has dealt with complexity by writing SCADE product family (for safety-critical application development environment)
- Think: MDE (model driven engineering), so you write logical templates, not hand-written code.
- Documentation is another area where what people want can differ from the code that gets created.
- āArchitects draw detailed plans before a brick is laid or a nail is hammered,ā he wrote in an article. āBut few programmers write even a rough sketch of what their programs will do before they start coding.ā
- Programmers tend to be pragmatic and distrust the theoretical, ivory-tower stuff, which also works against programming improvements.