Karl Kleine, “Historic documents in computer science and engineering”: http://www.fh-jena.de/~kleine/history/

Languages

FORTRAN

Algol 60

  • I think, this is the original Peter Naur edition of the Algol 60 report. I remember the typewriter and a second part, which describes the Algol system for the Danish GIER machine, also written by Peter Naur, same typewriter and with section numbers following those of the Algol60 report. The Algol 60 report was also published in the Communications of the ACM. There is a German translation of this original Algol60 report, produced by Kerner and his team in Jena, East-Germany (DDR), and published by Vieweg in West-Germany as a supplement to the journal “Elektronische Rechenanlagen”.
  • But what you should really study is the Revised Report on the Algorithmic Language Algol 60, here in a rendition of the Algol Manual der ALCOR Gruppe, together with a report for a subset of the language and the describtion of basic input/output procedures. There is also an online HTML version of the revised report.
  • Note: The IFIP working group WG2.1 on Algol decided early on that they will keep the copyright and that the Algol 60 report shall be free to copy and distribute, independent of some publisher. That was in 1960, long before any word of open source was voiced. It was just proper scientific procedure for such a document. If only standard bodies of today would show such an attitude!

Burroughs Extended Algol and ESPOL

  • Burroughs (which became a part of UNISYS) adopted and extended Algol 60 and used its Burroughs Extended Algol for nearly all of its software on the B5500 and B6xxx series, which were suitable endowed for the execution of Algol programs, except for some operating system code, which was written in ESPOL, the Executive Systems Problem Oriented Language, which additionally included hardware-near operations.

Simula 67

  • Simula is a direct descendent of Algol 60 and with its class concept considered the grandma of object oriented programming. It is defined in a document called the Common Base Language.

Algol 68

  • When IFIP WG 2.1 on Algol discussed the successor language for Algol 60 in 1965, Aad van Wijngaarden brought his proposal Orthogonal design and description of a formal language to the meeting in Grenoble. This paper on two-level grammars split the working group into two camps: The one working on this basis on Algol X, which would become Algol 68, and the other one, which later became the IFIP WG 2.3 on Programming Methodology. As this working paper soon became famous, van Wijngaarden reissued it as report MR76 of the Mathematical Center Amsterdam.
  • Algol 68 Report with the attachment sheet listing the metanotions of the two-level-grammar for your convenience.
  • The first usable Algol 68 system was a subset by the british RRE (Royal Radar Establishment, Malvern), called Algol68-R for the ICL1900 and ICL2900 series machines.
  • Algol 68 Revised Report reformatted and crossreferenced by W. B. Kloke. There is also an official sublanguage of the revised Algol 68 by Peter Hibbard, and an official report on the hardware representation, which makes good reading for the problems of that time with available peripheral equipment and the use of stropping conventions to indicate the kind of symbols in the program text.

Algol-W

  • When Niklaus Wirth spend some time in Stanford in the mid 60ies there was a /360, but without any compiler of the Algol family. Also at that time, he wrote a paper on record structures together with Tony Hoare, published in the CACM. On the practical side, he defined and implemented the language Algol-W, which can be seen as a direct precursor to Pascal.

Pascal

  • Niklaus Wirth defined Pascal in the very first report of the ETH computer science department in 1970. He also implemented it on the CDC6600 computer.
  • The Programming Language Pascal (Revised Report) appeared in November 1972 and layed the foundation for the whole Pascal language movement.
  • This was further helped by Pascal-S, a subset for running student jobs in a quick turn-around batch system. This report contains the whole compiler, written in Pascal, of course.
  • I’m looking for a good copy of Ammann’s report on the P-code compiler, the next step to popularize Pascal and making it widely available. I only have dirty and torn xerox copy of that.
  • Whereas Wirth’s Pascal was a practical compromise for teaching structured programming of reasonably small programs in a batch environment, a number of derivates appeared rather soon, often very specific to the needs of the various operating environment, and loaded with features, the best known being Turbo-Pascal by Borland. As a reaction to that, there are two ISO standards on Pascal, ISO/IEC 7185:1990 Pascal, and ISO/IEC 10206:1990 Extended Pascal.
  • Any discussion of Pascal would however be incomplete without Brian Kernighan’s critique Why Pascal is not my favorite programming language.

Modula-2 and Modula-3

PL360

  • The 1960ies saw a number of approaches to replace assembly language, but nevertheless work close to the machine architecture under the name machine-oriented higher level languages or MOHLL for short. Wirth’s PL360 is the best known example. He created it to write the Algol-W compiler at Stanford.
  • The PL360 Reference Manual (ascii) defines the language. Otherwise, there is Wirth’s article PL/360, A Programming Language for the 360 Computers in JACM 15(1), of january 1968, and Richard Guertin has a textbook for his courses at Stanford.
  • After PL360 there have been a number of similar languages, mostly forgotten today.

Bliss

BCPL

C

C++

PL/I

ML/1

Programming and Software Systems

Flowcharts (or is it flaw charts? :-)

NATO Software Engineering conferences

  • OCRed and reformatted reports of the two NATO working conferences Garmisch, 1968 and Rome, 1969, mirrored from Brian Randell’s web page. He was editor of the original reports and made available these versions, as people keep asking for them. See also some pictures from the conferences at his web pages.

The stack patent by Bauer and Samelson

  • F.L. Bauer and K. Samelson invented a a scheme using a pushdown stack for the translation and interpretation of arithmetic expressions, documented in the german patent DE1094019, filed march 30th, 1957, as well as the american counterpart US3047228, and FR1204424 and GB892098 for France and England, and there is a Swedish patent also. They also published an artikel “Sequentielle Formelübersetzung” about it, with a translation “Sequential Formula Translation” which appeared in the CACM, vol.3 (1960), pp.76-83.

Machines and Networks: Architecture and Implementation

The ENIAC patent

The Ethernet patent

  • Metcalfe, Boggs, Thacker, Lampson, Multipoint data communication system with collision detection US Patent 4063220, filed Mar. 31st 1975, awarded Dec. 13th 1977
  • Metcalfe’s famous sketch may not be missing here. And then there is of course the joint ethernet specification by Digital, Intel, and Xerox (V1 of Sept. 1980, and V2 of Nov. 1982). Later ethernet specs are IEEE standards in the 802 series.