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.
- 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.
- 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.