The early history of Smalltalk
@inproceedings{Kay1993TheEH, title={The early history of Smalltalk}, author={Alan C. Kay}, booktitle={HOPL-II}, year={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…
439 Citations
Unix, Plan 9 and the Lurking Smalltalk
- Computer Science
- 2018
The ambitions and trajectories of Smalltalk are contrasted with those of Unix and its descendents, exploring why Dan Ingalls’s vision appears not (yet) to have materialised, and how these two directions of change may yet be convergent within future Unix-derived systems.
Personal programming and the object computer
- Computer ScienceSoftware and Systems Modeling
- 2019
My objective is to create an intuitive computer for laypeople who want to go beyond ready-made apps and create programs to control their electronic environment. I submit Loke, a new kind of computer…
Self
- Computer ScienceHOPL
- 2007
Although the Self project ended in 1995, its implementation, animation, user interface toolkit architecture, and even its prototype object model impact computer science today (2006).
The evolution of Smalltalk: from Smalltalk-72 through Squeak
- Computer ScienceProc. ACM Program. Lang.
- 2020
The forces that brought each generation of Smalltalk into existence are described, the technical innovations that characterized it, and the growth in understanding of object-orientation and personal computing that emerged.
A Modular Language for Concurrent Programming
- Computer Science
- 2008
A modern programming language based on message passing is proposed, to provide the flexibility and expressiveness of concurrent programming while limiting, as much as possible, the complexity caused by nondeterminism.
Mapping the Landscape of Literate Computing
- Computer SciencePPIG
- 2019
It is argued that computational notebooks are just a special case of literate computing tools and that there is an uncharted design space for computing tools that dissolves the traditional distinction between programming and using computers, but also between using and developing software tools.
Proposal to NSF - Granted on August 31st 2006 Steps Toward The Reinvention of Programming A Compact And Practical Model of Personal Computing As A Self-Exploratorium
- Computer Science
- 2006
It is thought that making a well designed system that is also instrumented to be learned, understood and changed could have a large positive impact on many areas of computing.
The histories of computing(s)
- ArtHistories of Computing
- 2011
Abstract The first electronic digital computers were variations on the protean design of a limited Turing machine, which described not a single device but a schema, and which could assume many forms…
One Point of View: The Power Of the Context
- Education
- 2004
I have long been an enthusiastic appreciator of great ideas in many genres-ranging from graphic, musical, and theatrical arts to mathematics, science, and engineering. I got a lot of early…
Should LOGO Keep Going FORWARD 1?
- Computer ScienceInformatics Educ.
- 2007
The goal of this paper is to spur a discussion of issues of LOGO and to present my personal opinions based upon 30 years of research experience in this field.
References
SHOWING 1-10 OF 63 REFERENCES
Smalltalk-80: The Language and Its Implementation
- Computer Science
- 1983
This book is the first detailed account of the Smalltalk-80 system and is divided into four major parts: an overview of the concepts and syntax of the programming language, a specification of the system's functionality, and an example of the design and implementation of a moderate-size application.
The next 700 programming languages
- Computer ScienceCACM
- 1966
A family of unimplemented computing languages is described that is intended to span differences of application area by a unified framework. This framework dictates the rules about the uses of…
Form and Content in Computer Science (1970 ACM turing lecture)
- ArtJACM
- 1970
This essay suggests form-content confusion in theory of computation, in programming languages, and in education, and argues that an excessive preoccupation with formalism is impeding the authors' development.
An overview of the programming language Smalltalk-72
- Computer ScienceSIGP
- 1979
Language development is one tool utilized in the construction of an interactive computer system, used by both children and adults for problem solving, simulation, drawing and painting, real time generation of music, information retrieval, and other tasks.
Personal Dynamic Media
- ArtComputer
- 1977
The Learning Research Group at Xerox Palo Alto Research Center is concerned with all aspects of the communication and manipulation of knowledge and has designed and built a communications system: the Smalltalk language, implemented on small computers they refer to as "interim Dynabooks".
Correspondence between ALGOL 60 and Church's Lambda-notation
- Computer ScienceCommun. ACM
- 1965
A model for computer languages and computer behavior is described, based on the notions of functional application and functional abstraction, but also having analogues for imperative language features.
Structured Programming with go to Statements
- Computer ScienceCSUR
- 1974
For serious students of structured programming, and also for language designers, Knuth's "Structured Programming with go to Statements" is probably the paper to read. It is by far the most complete…
Recursive functions of symbolic expressions and their computation by machine, Part I
- Computer ScienceCommun. ACM
- 1960
A programming system called LISP (for LISt Processor) has been developed for the IBM 704 computer by the Artificial Intelligence group at M.I.T. The system was designed to facilitate experiments with…
A user machine in a time-sharing system
- Computer Science
- 1966
This paper describes the design of the computer seen by a machine-language programmer in a time-sharing system developed at the University of California at Berkeley, with the main emphasis on the appearance of the user's machine.
FLEX - A Flexible Extendable Language
- Computer Science
- 1968
The FLEX system consists of merged 'hardware' and 'software' that is optimized towards handling algorithmic operations in an interactive, man-machine dialog that is well-suited for semantically describing and pragmatically executing a large class of languages.