A. Kay. The Second ACM SIGPLAN Conference on History of Programming Languages (HOPL-II), Cambridge, MA, USA, page 69--95. New York, ACM, (1993)
Most ideas come from previous ideas. The sixties, particularly in the ARPA community, gave rise to a host of notions about 'human-computer symbiosis' through interactive time-shared computers, graphics screens and pointing devices. Advanced computer languages were invented to simulate complex systems such as oil refineries and semi-intelligent behavior. The soon to follow paradigm shift of modern personal computing, overlapping window interfaces, and object-oriented design came from seeing the work of the sixties as something more than a 'better old thing'. That is, more than a better way: to do mainframe computing; for end-users to invoke functionality; to make data structures more abstract. Instead the promise of exponential growth in computing/$/volume demanded that the sixties be regarded as 'almost a new thing' and to find out what the actual 'new things' might be. For example, one would compute with a handheld Dynabook in a way that would not be possible on a shared mainframe; millions of potential users meant that the user interface would have to become a learning environment along the lines of Montessori and Bruner; and needs for large scope, reduction in complexity, and end-user literacy would require that data and control structures be done away with in favor of a more biological scheme of protected universal cells interacting only through messages that could mimic any desired behavior. Early Smalltalk was the first complete realization of these new points of view as parented by its many predecessors in hardware, language and user interface design. It became the exemplar of the new computing, in part, because we were actually trying for a qualitative shift in belief structures---a new Kuhnian paradigm in the same spirit as the invention of the printing press---and thus took highly extreme positions which almost forced these new styles to be invented.