Steven Tanimoto
Why can’t computing be more like playing an instrument?
Liveness in electrical circuits. How to replace a light switch: safely or write it hot! In computing, you can make the same kind of choices without risk of death.
Live programming: modify a running protean without doing execution.
Fortran was proposed on 1953. Programming was a long task. Make a flowchart, hand write out code, full out a form. Punch cards. Etc etc etc
In 1963 Ivan Sutherland came up with an interactive graphical interface. Visual languages make use of graphics.
Visual languages are discoverable via interactions.
This seeks a closer interaction between program and programmer. Increase visibility. Reduce latency.
Early graphics were non interactive. By the 70’s, diagrams were executable. In the 80’s, the were responsive.
Liveness hierarchy:
1. Informative. Flowchart as description
2. Informative and significant. Executable flowchart
3. Responsive
4. Live
The Data Factory
His live language. All data e elements have a place. Data flows between them.
Is a bit pd-like…
Proposed extension to liveness hierarchy… When does execution respond to programming changes?
Level 1: never
Level 2: when commanded
Level 3; upon any edit
Level 4: immediately and continuously
Level 5: predictive. The computer crashed alternative branches and the use selected the one they want.
Level 6: the computer tries to guess entire program parts
Gestural input for character input is level 5. And also how I am entering this post…
Level 6. Strategically predictive liveness.
Liveness is only useful if the program is executed straight away. Solutions: check syntax immediately. Secondary executions like just to headphones before out to main speakers.
Q: should truly live programmes learn from and incorporate errors?
A: software engineering is about creating an artefact. Live coding is a performance.
Q: could unit testing be used for predictive aliveness?
A: sound like a good PhD.
Q: music is stateful and development is on some sense stateless.
A: programmers do not think of themselves in terms of performance, but programming involves cognitive states.
Q: doors livened mean the same thing to us as it does to computer science? Or live coding is not live by some definitions.
A: mixing singing and coding does reduce distance between thought and output.