Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
Principles of interactive computer graphics (2nd ed.)
Principles of interactive computer graphics (2nd ed.)
Personal distributed computing: the alto and ethernet hardware
A history of personal workstations
SNOBOL , A String Manipulation Language
Journal of the ACM (JACM)
Experience with an extensible language
Communications of the ACM
A formal semantics for computer languages and its application in a compiler-compiler
Communications of the ACM
EULER: a generalization of ALGOL and it formal definition: Part 1
Communications of the ACM
SIMULA: an ALGOL-based simulation language
Communications of the ACM
A generalized technique for symbol manipulation and numerical calculation
Communications of the ACM
Design of a separable transition-diagram compiler
Communications of the ACM
Recursive functions of symbolic expressions and their computation by machine, Part I
Communications of the ACM
The Smalltalk-76 programming system design and implementation
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Actor induction and meta-evaluation
POPL '73 Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages
The Art of the Metaobject Protocol
The Art of the Metaobject Protocol
Studying the Novice Programmer
Studying the Novice Programmer
A control statement for natural top-down structured programming
Programming Symposium, Proceedings Colloque sur la Programmation
A Framework for Representing Knowledge
A Framework for Representing Knowledge
Control structures for programming languages
Control structures for programming languages
The reactive engine
An overview of the programming language Smalltalk-72
ACM SIGPLAN Notices
Naked objects: a technique for designing more expressive systems
ACM SIGPLAN Notices
Before the B5000: Burroughs Computers, 1951-1963
IEEE Annals of the History of Computing
Embryonic object versus mature object: object-oriented style and pedagogical theme
Proceedings of the 8th annual conference on Innovation and technology in computer science education
The reification of metaphor as a design tool
ACM Transactions on Computer-Human Interaction (TOCHI)
The case for virtual register machines
Science of Computer Programming - Special issue on advances in interpreters, virtual machines and emulators (IVME'03)
Alan Kay: Transforming the Computer into a Communication Medium
IEEE Annals of the History of Computing
Proceedings of the Second International Workshop on Combined Object-Oriented Modelling and Programming Languages
Polymorphic identifiers: uniform resource access in objective-smalltalk
Proceedings of the 9th symposium on Dynamic languages
Hi-index | 0.00 |
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 main-frame; 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 that almost forced these new styles to be invented.