Imagine a large library called "The Library of Modern Sources:' What would the blueprint for such a source museum look like? We might arrange departments and divide them along the large groups of programming languages: procedural (FORTRAN, ALGOL, PASCAL and C), functional (LISP, ML or MIRANDA), declarative (LOGO or PROLOG), and a new department for
the object-oriented (SMALLTALK, EIFFEL, C++); parallel and neuronal languages would be in development. However, as a minimal condition, all sources ever written must be available as code, plus the descriptions and sources of all compiler-, interpreter-, and assembler-codes that belong to each system, including all those texts, blueprints, tables and diagrams describing the machines that run those codes. We would collect everything belonging to the symbolic register of our project: everything written, all knowledge on each code ever put into signs and sketches. Would this be sufficient? Does the history of source code include only what has been registered symbolically? I am afraid our library would in the end also have to include the real machines themselves, plus running versions of all operating systems and development platforms. Otherwise the bulk of older code would remain incomprehensible. But does anyone have even a minimal number of computers that ever ran at their disposal? No. Our collection would at best document those codes that never actually ran on a machine.