Friedrich L. Bauer
Abstract
Friedrich Ludwig Bauer (1924–2015) co-invented the stack-based evaluation of expressions with Klaus Samelson, helped design ALGOL 58 and ALGOL 60, taught the Munich course that grew into one of Germany’s first computer-science degrees, and chaired the 1968 NATO conference in Garmisch that made “software engineering” and the “software crisis” standard terms. He spent his later decades on program transformation, cryptology and the history of his own field, for which he designed the computing galleries of the Deutsches Museum. A summary of his work also appears in Germany’s Computing Pioneers.
Regensburg and the War
Bauer was born in Regensburg on 10 June 1924, the son of Ludwig Bauer, an auditor, and grew up nearby in Thaldorf. He took his Abitur at a Munich Oberrealschule in 1942. He had hoped to train as a pianist. Instead he was sent to the labour service and, from 1943, to the Wehrmacht; he received the Iron Cross second class in 1944, was wounded, was captured in France, and came home in 1945.
From 1946 to 1950 he studied mathematics, physics, astronomy and logic at the University of Munich. His doctoral adviser was the theoretical physicist Fritz Bopp, Arnold Sommerfeld’s successor, and the 1952 thesis was a group-theoretical study of spin wave equations. In between he spent time as a trainee teacher at a Munich secondary school. He habilitated at the Technische Hochschule München in 1954.
The PERM
According to Manfred Broy’s obituary, a report on electronic calculating machines by the Swiss mathematician Heinz Rutishauser led Bauer to read Claude Shannon’s switching algebra and John von Neumann’s papers. He then heard of a closed seminar run by the mathematician Robert Sauer and the communications engineer Hans Piloty at the Technische Hochschule. Its goal was to build an electronic computer of the school’s own.
The machine was the PERM (Programmgesteuerte Elektronische Rechenanlage München). Work began in 1951 at the institute for communications and measurement technology; Robert Piloty, Hans’s son, led the hardware construction and Sauer led the programming group. The finished machine had 2,400 tubes and 3,000 semiconductor diodes and kept its working data on a magnetic drum of 8,192 words of 51 bits, later supplemented by 2,048 words of core memory and magnetic tape. Bauer, his fellow student Klaus Samelson and the physicist Heinz Schecher designed its floating-point arithmetic and wrote the microcode; Schecher contributed indirect addressing. The PERM entered regular service on 8 May 1956, a few years after Göttingen’s G1 and G2, ran until 1974, survives as the oldest German tube computer, and stood in the Deutsches Museum from 1988 to 2022.
The tubes failed often, and so did the programs. Bauer called programming the PERM Goldstickerei, gold embroidery: slow, skilled handwork in which one wrong stitch spoiled the piece. The search for something better, a programming language and a method for using it, occupied him for the rest of his career.
STANISLAUS
Alongside the PERM, Bauer and Helmut Angstl designed a small special-purpose machine in 1950–51: STANISLAUS, a “Formelrechner” built from telephone relays that evaluated formulas of propositional logic. The user keyed in a formula in Polish (prefix) notation, column by column, with buttons for negation, conjunction, disjunction, equivalence and implication, and the machine checked whether the formula was well formed and computed its truth value. It was completed in 1956 and fits in a wooden case with a carrying handle. Evaluating a nested formula one symbol at a time means remembering unfinished operations until their operands arrive, which was the same problem Bauer and Samelson were about to solve for arithmetic. The machine is in the Deutsches Museum.
The Cellar
The problem Bauer and Samelson faced on the PERM was how to translate arithmetic formulas with nested parentheses into machine instructions automatically. Their answer, developed from 1955, was the Kellerprinzip, the cellar principle. Operators and intermediate results that cannot be used yet are put into a “cellar” in the order they arrive, and the one put in last is taken out first when it is needed. Today this is called a stack.
They filed a German patent on 30 March 1957, “Verfahren zur automatischen Verarbeitung von kodierten Daten und Rechenmaschine zur Ausübung des Verfahrens” (DE 1094019, published 1 December 1960). It described a machine that would accept formulas in ordinary mathematical notation and evaluate them through its cellar, without a separate program. The archive of the Deutsches Museum holds the correspondence of Bauer’s patent attorney on a 1957 application, running to 1961, including an objection lodged by Standard Elektrik Lorenz. The method itself appeared in print as “Sequentielle Formelübersetzung” in Elektronische Rechenanlagen in 1959, and in English as “Sequential Formula Translation” in Communications of the ACM in February 1960. The English version made it the standard technique for compiling expressions and, soon after, for managing procedure calls in ALGOL compilers. Bauer’s friend Andrei Ershov had a phrase for such compilers: “programming programs.”
Bauer and Samelson were not alone. Alan Turing had described “bury” and “unbury” operations for subroutine calls in 1946, the Australian Charles Hamblin developed a stack-based scheme for expression evaluation in 1954, and Wilhelm Kämmerer proposed his “automatic memory” in 1958. When the IEEE Computer Society gave Bauer its Computer Pioneer Award in 1988, it cited the stack; Samelson had died in 1980.
ALGOL
In October 1955 a meeting of the applied-mathematics society GAMM in Darmstadt discussed programming languages, and a GAMM subcommittee with Bauer, Samelson and Rutishauser set out to define one. In April 1958 Bauer presented the GAMM proposal to the ACM’s language committee in Philadelphia, and from 27 May to 2 June 1958 four Europeans and four Americans, among them Bauer, Samelson, Rutishauser, Hermann Bottenbruch, John Backus and Alan Perlis, met at ETH Zurich and produced the International Algebraic Language, soon renamed ALGOL 58.
In 1958 Bauer moved to the University of Mainz as professor of applied mathematics. Mainz had a Zuse Z22, and by the end of that year the “ZMMD” group (Zurich, Munich, Mainz, Darmstadt) had an ALGOL 58 compiler running on it. Bauer sat on the committee that met in Paris from 11 to 16 January 1960 and produced ALGOL 60, the language of block structure and recursive procedures in which algorithms were published for decades, and he was a member of IFIP Working Group 2.1, which looked after it afterwards (see ALGOL and the ALGOL Family). In the same year, with C. T. Fike, he published “Norms and Exclusion Theorems” in Numerische Mathematik. Its main result, the Bauer–Fike theorem, bounds how far the eigenvalues of a diagonalizable matrix can move when the matrix is perturbed, and numerical analysts still cite it under that name.
Informatik in Munich
Bauer returned to the Technische Hochschule München in 1963 as professor of mathematics. He was elected to the Bavarian Academy of Sciences in 1968 and worked to build up its Commission for Informatics and its computing centre, the Leibniz-Rechenzentrum.
The new subject had a naming problem. In 1956 Standard Elektrik Lorenz had launched the “Informatik-System Quelle”, a transistor computer for the Quelle mail-order company, and the firm held the rights to the word Informatik. When Bauer and his colleagues proposed a degree in the autumn of 1967, it had to be called Informationsverarbeitung, and according to the Heinz Nixdorf MuseumsForum, Bauer lost in court when he tried to use the name he wanted. In the winter semester of 1967/68 the Technische Hochschule offered information processing as a minor within the mathematics degree. Bauer gave the introductory lectures, a two-semester course heard by about 30 students. Federal research minister Gerhard Stoltenberg’s recommendations of July 1968 put the word “Informatik” into public circulation, and by 1969/70 Bauer’s course ran as “Einführung in die Informatik.” The school, renamed Technical University in 1970, appointed its first full professor of computer science, Manfred Paul, that year. Informatik became an independent degree in 1972, when Bauer took a chair of mathematics and informatics, which he held until he retired in 1989.
Bauer preferred the German word to “computer science”, because in his view the subject was the systematic treatment of information, not the machine. His lectures defined it as the science of the representation, storage, processing and transmission of information. In 1969 he took the initiative to found the Gesellschaft für Informatik, which was constituted in Bonn on 16 September 1969; he held membership number 1 (see GI: Gesellschaft für Informatik).
In 1971 Springer published his introduction with Gerhard Goos, Informatik: Eine einführende Übersicht, as volume 80 of its Heidelberger Taschenbücher. German students knew it as “the Bauer–Goos.” Edsger Dijkstra reviewed the first part in May 1971 (EWD 311). He praised its breadth and its diagrams, objected to its reliance on ALGOL 68 (“someone has played his political cards extremely well”), and complained about a map of the human brain in the first chapter: “this information is vital for the brain surgeons, but absolutely irrelevant for the person who tries to use his own brain.”
Garmisch 1968
The NATO Science Committee had begun funding mid-sized conferences in 1967, and Bauer had good contacts with it. In late 1967 its Study Group on Computer Science recommended a working conference on software. The conference report explains the title: “The phrase ‘software engineering’ was deliberately chosen as being provocative, in implying the need for software manufacture to be based on the types of theoretical foundations and practical disciplines, that are traditional in the established branches of engineering.” Brian Randell, one of the report’s editors, later wrote that the title was chosen “I think by Fritz Bauer.”
The conference met at the Golfhotel Sonnenbichl in Garmisch-Partenkirchen from 7 to 11 October 1968, with Bauer as chairman and L. Bolliet and H. J. Helms as co-chairmen. The Heinz Nixdorf MuseumsForum counts sixty participants from eleven countries. Alan Perlis gave the opening talk; Peter Naur and Edsger Dijkstra were among the participants. There were few formal lectures. Working papers, mostly circulated beforehand, were argued over in small and large groups, and on the Wednesday afternoon everyone went to see Nymphenburg Palace in Munich. Bauer’s own recorded remarks are short. On mathematics: “What is needed is not classical mathematics, but mathematics. Systems should be built in levels and modules, which form a mathematical structure.” Closing a discussion about what a “concept” was, he said: “The concept seems to be clear by now. It has been defined several times by examples of what it is not.”
The discussions were taped and taken down by reporters, and the notes were matched against the tape footage. Bauer invited Randell, then at IBM Research in Yorktown Heights, to edit the report with Peter Naur. It was written for officials and governments as well as for programmers, kept the speakers’ names and original wording, and made no attempt to reach a consensus. Its 226 pages came out in January 1969. Randell remembered Garmisch as one of the most stimulating meetings he attended, with participants discovering how widely they shared the worry that some of them called the “software crisis” (see The Software Crisis).
Myth: Friedrich L. Bauer coined the term “software engineering” at Garmisch
The words were older. An advertisement in Computers and Automation used “software engineering” in June 1965, ACM publications used it in 1966, and Margaret Hamilton has said she used it for the Apollo software (see Margaret Hamilton and the Apollo Software). Some references even give the date as 11 October 1968, the last day of the conference, but NATO’s Study Group had chosen the title in late 1967. What Bauer did was put the phrase on a NATO conference as a deliberate provocation, a demand rather than a description, and the conference made it the name of a discipline. See Myths and Misconceptions.
A follow-up conference on “Software Engineering Techniques” met in Rome from 27 to 31 October 1969. Naur declined to edit its report; Randell “naively agreed” and later recalled “the ill-tempered nature of many of the discussions” and a gulf between researchers and practitioners. In 1970 Bauer co-organised the first International Summer School in Marktoberdorf, another NATO-sponsored format, in which leading researchers lectured to advanced students for two weeks. He directed the summer school until 1995. In a paper published in 1972 he defined the discipline as the “establishment and use of sound engineering principles to economically obtain software that is reliable and works on real machines efficiently.”
Program Transformation
Bauer’s answer to the software crisis was mathematical. From 1975 he and Samelson led the Munich project CIP, “Computer-aided, Intuition-guided Programming.” The idea was to start from a formal specification and derive an efficient program from it by a series of transformations, each of which provably preserved correctness, with the machine keeping the bookkeeping and the programmer choosing the steps. The project defined a wide-spectrum language, CIP-L, that could express everything from abstract specifications to low-level loops, and built a transformation system, CIP-S, described in the second volume of The Munich Project CIP in 1987. The textbook that came out of it, Algorithmische Sprache und Programmentwicklung with Hans Wössner (1981; English 1982), combined algebra, logic and programming in one account of how programs should be developed.
Bauer supervised 39 doctoral students, among them David Gries, Manfred Broy and the numerical analyst Josef Stoer.
Cryptology
Cryptology had interested Bauer since his youth, and from the late 1970s it took up more of his time. He published Kryptologie in 1994 and Entzifferte Geheimnisse in 1995. The English edition, Decrypted Secrets: Methods and Maxims of Cryptology, appeared with Springer in 1997 and reached a fourth edition. It is two books in one: the first half teaches the methods of encryption, the second the methods of breaking them, illustrated with cases from the history of codebreaking, Enigma among them (see Cryptography: The Secret Science and Alan Turing and the Enigma).
The Deutsches Museum
After he retired, Bauer turned to the history of computing. He had already conceived the Deutsches Museum’s new department of informatics and automation, which opened in 1988 with texts he wrote; the PERM went on display there the same year. A gallery of microelectronics followed in 1990 and a cabinet of mathematical recreations in 1999. The museum gave him its golden ring of honour in 1988. His Kurze Geschichte der Informatik (2007), written in cooperation with the Heinz Nixdorf MuseumsForum, runs from al-Khwarizmi and Ramon Llull through Leibniz to Konrad Zuse, Turing, Norbert Wiener, Dijkstra and Niklaus Wirth. Historische Notizen zur Informatik followed in 2009. In April 2000 he attended the HNF’s conference “History of Computing: Software Issues.”
Among his honours were the Bavarian Order of Merit (1971), the Wilhelm Exner Medal (1978), the Federal Cross of Merit, first class (1982), membership of the Leopoldina (1984), the Bavarian Maximilian Order for Science and Art (1986) and honorary doctorates from Grenoble, Passau and the Bundeswehr University in Munich. TUM established a Friedrich L. Bauer Prize in 1992 and named a lecture hall after him in 2014.
Bauer was married to Hildegard Bauer-Vogg; they had three sons and two daughters and lived in Kottgeisering, west of Munich. He died on 26 March 2015, aged 90. He gave two long oral-history interviews, to William Aspray for the Charles Babbage Institute in 1987 and to Ulf Hashagen for SIAM in 2004 (see Interviews and Oral Histories).
📚 Sources
- Heinz Nixdorf MuseumsForum blog, “Friedrich L. Bauer (1924-2015)” (1 April 2015) (piano, war, captivity, PERM, STANISLAUS, Mainz, return to Munich, Deutsches Museum, Kurze Geschichte der Informatik 2007)
- Manfred Broy, “Ein Leben für die Informatik. Zum Tode von Friedrich L. Bauer,” Bayerische Akademie der Wissenschaften (April 2015) (Rutishauser, Sauer–Piloty seminar, Schecher, “Goldstickerei”, Ershov, GI member no. 1, definition of Informatik, CIP, cryptology, five children)
- Heinz Nixdorf MuseumsForum blog, “PERM: das Rechenmonster aus München” (5 May 2026) (1951 start, 2,400 tubes, 3,000 diodes, drum of 8,192 words, 8 May 1956, operation until 1974, Deutsches Museum 1988–2022)
- Heinz Nixdorf MuseumsForum blog, “50 Jahre Informatik in München” (26 September 2017) (winter semester 1967/68, 30 students, 1969/70 course title, Manfred Paul 1970)
- Heinz Nixdorf MuseumsForum blog, “Die Geburt der „Informatik”" (2 July 2018) (SEL’s rights to the word, the lost court case, Stoltenberg’s recommendations of July 1968)
- Heinz Nixdorf MuseumsForum blog, “Software 1968” (9 October 2018) (Golfhotel Sonnenbichl, sixty participants from eleven countries, Nymphenburg excursion, 1965 and 1966 uses of the term, Rome 1969, HNF conference 2000)
- Naur, Peter & Randell, Brian (eds.): Software Engineering: Report on a conference sponsored by the NATO Science Committee, Garmisch, Germany, 7th to 11th October 1968 (January 1969) (chairman and co-chairmen, the “deliberately chosen as being provocative” sentence, Bauer’s remarks, recording method)
- Randell, Brian: “Fifty Years of Software Engineering, or The View from Garmisch” (arXiv, 2018) (“I think by Fritz Bauer”, the invitation to co-edit, the audience of the report, Rome 1969)
- Samelson, Klaus & Bauer, Friedrich L.: “Sequential Formula Translation,” Communications of the ACM 3(2), 76–83 (February 1960)
- DE 1094019, “Verfahren zur automatischen Verarbeitung von kodierten Daten und Rechenmaschine zur Ausübung des Verfahrens,” F. L. Bauer and K. Samelson, filed 30 March 1957, Google Patents
- Deutsches Museum Archive, NL 214/041: correspondence between patent attorney Wilhelm Reichel and F. L. Bauer on the application “Automatische Rechenmaschine und Verfahren zu ihrem Betrieb,” 1957–1961 (the objection by Standard Elektrik Lorenz)
- Wikipedia: Stack (abstract data type), History (Turing 1946, Hamblin 1954, Kämmerer 1958, the 1988 award)
- Wikipedia: ALGOL 58 (Zurich 1958, ZMMD, the Z22 compiler)
- Bauer, F. L. & Fike, C. T.: “Norms and Exclusion Theorems,” Numerische Mathematik 2, 137–141 (1960)
- Dijkstra, Edsger W.: Review of Bauer & Goos, Informatik, Erster Teil (EWD 311, May 1971)
- Wikipedia: Summer School Marktoberdorf (first school 1970, follow-up to Garmisch, NATO sponsorship)
- Springer: The Munich Project CIP, Volume II: The Program Transformation System CIP-S (1987) (start in 1975 under Bauer and Samelson, CIP-L, CIP-S)
- Bauer, F. L. & Wössner, H.: Algorithmische Sprache und Programmentwicklung (Springer, 1981)
- Wikipedia (de): Friedrich Ludwig Bauer (family, Abitur, Wehrmacht 1943–1945, habilitation under Sauer, Marktoberdorf 1970–1995, Deutsches Museum galleries 1988/1990/1999, honours, Kottgeisering)
- Wikipedia: Friedrich Ludwig Bauer (thesis topic, 1972 definition of software engineering, 39 doctoral students, honorary doctorates, Bauer Prize 1992, lecture hall 2014, Hildegard Bauer-Vogg)
- IEEE Computer Society: Friedrich (Fritz) L. Bauer, Computer Pioneer Award 1988
- Charles Babbage Institute: Oral history interview with Friedrich L. Bauer, OH 128, by William Aspray, 17 February 1987
- Computer History Museum: Bauer, Fritz (Friedrich L.) SIAM oral history, by Ulf Hashagen, 2004
- SIAM History of Numerical Analysis and Scientific Computing: Friedrich (Fritz) L. Bauer
- Image: FriedrichLudwigBauer.jpg by Hcii (CC BY-SA 3.0), via Wikimedia Commons
- Image: Röhrensteckeinheit Flip-Flop der Rechenanlage PERM.jpg by Deutsches Museum (CC BY-SA 4.0), via Wikimedia Commons
- Image: Stanislaus computer.jpg by Tiia Monto (CC BY-SA 3.0), via Wikimedia Commons
- Image: GrandHotel Sonnenbichl Garmisch.jpg by Ricardalovesmonuments (CC BY 4.0), via Wikimedia Commons