In late August 2020 I read The Dream Machine and it is my favorite book of 2020. It is an incredible overview of a sliver of computer pioneers in the 1960s-1980s and how one man was instrumental in tying all their narratives together. One of the strands the book follows is the group at PARC (and other places) that firmly believed in the notion of interactive computing. Over the last year, I’ve repeatedly been introduced to this strand of thinking. There is Douglas Engelbart’s Augmenting Human Intellect1 and his mother of all demos. The notion that computers should allow humans to think better, and one way to do that is to allow humans to express and try out ideas better. Writing is a useful skill to form coherent, but generally linear streams of thought. Computing is the closest we can yet get to a non-linear exploration of a problem domain, and freed from the limitations of time and space, we can recreate our thoughts in a malleable, explorable way. By applying a known process to known information, but turning a few billion cranks at a time we can get to better solutions, faster. The notion is, if we could have a computer (the physical device including the software) that would allow people to iteratively express their problems, get immediate sensory (primarily visual, but nothing prevents using the other senses) feedback and extend the computer as necessary, we can really liberate the human mind from some of its limitations. It is a very different vision from the consensus reality of vendors that deliver pre-packaged applications that all come with restrictions.
Smalltalk2 is one of the outputs of this strand of thinking and has had a big impact on general purpose programming languages3. However the focus on object orientation and test-driven development have robbed the world of what I think are its most important aspects: