In traditional programming, your task is to take complex rules and translate them into code; most of your energy is spent doing the translating, rather than thinking about the rules themselves.
Bret Victor:
- “Creators need an immediate connection to what they’re creating.”
- “I’m not sure that programming has to exist at all or at least software developers.” In his mind, a software developer’s proper role was to create tools that removed the need for software developers. Only then would people with the most urgent computational problems be able to grasp those problems directly, without the intermediate muck of code.
- “Nobody would build a car by hand, code is still, in many places, handicraft. When you’re crafting manually 10,000 lines of code, that’s okay. But you have systems that have 30 million lines of code, like an Airbus, or 100 million lines of code, like your Tesla or high-end cars — that’s becoming very, very complicated.”
- "the beauty of having a computer turn your requirements into code, rather than a human, is that you can be sure — in fact you can mathematically prove — that the generated code actually satisfies those requirements"
Esterel Technology:
- ansys-scade-suite: Instead of writing normal programming code, you created a model of the system’s behavior — in this case, a model focused on how individual events should be handled, how to prioritize events, which events depended on which others, and so on. The model becomes the detailed blueprint that the computer would use to do the actual programming.
Margaret Hamilton:
- "some very low machine language to assembly language. The people at the lowest level were fighting to keep it. And the arguments were so similar: Well how do we know assembly language is going to do it right?”
- TLA+ then exhaustively checks that your logic does, in fact, satisfy those constraints. If not, it will show you exactly how they could be violated.
- Formal methods
- One suspects the incentives are changing. “I think the autonomous car might push them, In the world of the self-driving car, software can’t be an afterthought. It can’t be built like today’s airline-reservation systems or 911 systems or stock-trading systems. Code will be put in charge of hundreds of millions of lives on the road and it has to work. That is no small task.”
No comments:
Post a Comment