Unix, Plan 9 and the Lurking Smalltalk

  title={Unix, Plan 9 and the Lurking Smalltalk},
  author={Stephen Kell},
High-level programming languages and their virtual machines have long aspired to erase operating systems from view. Starting from Dan Ingalls’ Smalltalk-inspired position that “an operating system is a collection of things that don’t fit inside a language; there shouldn’t be one”, I contrast the ambitions and trajectories of Smalltalk with those of Unix and its descendents, exploring why Ingalls’s vision appears not (yet) to have materialised. Firstly, I trace the trajectory of Unix’s “file… 



The early history of Smalltalk

  • A. Kay
  • Computer Science
  • 1993
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 and became the exemplar of the new computing.

Smalltalk-80: The Language and Its Implementation

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.

Back to the future: the story of Squeak, a practical Smalltalk written in itself

Squeak is an open, highly-portable Smalltalk implementation whose virtual machine is written entirely in Smalltalk, making it easy to. debug, analyze, and change. To achieve practical performance, a

The Implementation of a Distributed Smalltalk

This paper describes Distributed Smalltalk, which consists of a number of cooperating Smalltalk virtual machines distributed over a network, that provide complete distribution transparency to the

The UNIX system: The evolution of the UNIX time-sharing system

  • D. Ritchie
  • Computer Science
    AT&T Bell Laboratories Technical Journal
  • 1984
A brief history of the early development of the UNIX™ operating system is presented, focusing on the evolution of the file system, the process-control mechanism, and the idea of pipelined commands.

The Unix-Haters Handbook

An API is important because it enables further extension of the system; it is a clean base upon which to build and forms a basis for expansion, for portable files, for a cottage industry.

Constructing a metacircular Virtual machine in an exploratory programming environment

This work is concurrently constructing two artifacts--a Self VM entirely in Self (the Klein VM), and a specialized development environment--with strict adherence to pure object-orientation, metacircularity, heavy code reuse, reactivity, and mirror-based reflection.

Programming Perl

This third edition of Programming Perl has been expanded to cover version 5.6 of this maturing language, and new topics include threading, the compiler, Unicode, and other new features that have been added since the previous edition.

Design Principles Behind Smalltalk

A language of description that serves as an interface between the models in the human mind and those in computing hardware, and a language of interaction that matches the human communication system to that of the computer.

MDL: a language and compiler for dynamic program instrumentation

This work uses a form of dynamic code generation, called dynamic instrumentation, to collect data about the execution of an application program to instrument running programs to collect performance and other types of information.