# Klaus Samelson

Klaus Samelson (Estrasburgo, 21 de dezembro de 1918 – Munique, 25 de maio de 1980) foi um matemático, físico e pioneiro da informática alemão. Foi instrumental no desenvolvimento de sistemas de computação eletrônica programáveis, sendo conhecido por suas contribuições para a construção de compiladores e algoritmos para a tradução automática de fórmulas matemáticas, com base no uso de um armazenamento em pilha, princípio que inventou junto com Friedrich Ludwig Bauer.

## Vida e obra

Klaus Samelson passou sua infância em Breslau, onde seu pai era professor de pediatria. Seu irmão mais velho era Hans Samelson e o mais novo Franz Samelson. Os nazistas impediram Klaus Samelson de se inscrever em uma universidade. Assim, foi obrigado a aguardar até 1946 para poder se matricular a fim de estudar matemática, física e astronomia na Universidade de Munique.
Completou a graduação em 1950, obtendo um doutorado em física na Universidade de Munique, orientado por Fritz Bopp, com uma tese sobre o problema da mecânica quântica de indução unipolar, proposto por Arnold Sommerfeld.
Samelson começou a ser interessar por matemática numérica, e quando o engenheiro eletricista Hans Piloty e o professor de matemática Robert Sauer começaram a desenvolver computadores, trabalhou com ambos no Instituto de Matemática da Universidade Técnica de Munique.
Este trabalho mudou sua orientação científica. Suas primeiras publicações foram baseadas no interesse de Sauer sobre problemas de ultrassom e na precisão dos cálculos numéricos de autovalores com computadores digitais. Piloty, Friedrich Ludwig Bauer e Samelson também trabalharam no projeto do PERM, um computador baseado em parte no conceito de Whirlwind. O PERM foi concluído em 1955 e a equipe continuou a pesquisa sobre "programação automática", que Bauer iniciou em 1951.
Logo depois Samelson exerceu uma forte influência no desenvolvimento da informática como uma nova disciplina científica. Juntamente com Friedrich L. Bauer, que também teve Fritz Bopp como orientador de doutorado, estudou a estrutura das linguagens de programação com a intenção de encontrar algoritmos eficientes para sua tradução em linguagem de máquina. Ao fazê-lo, descobriram o princípio do armazenamento em pilha e estavam convencidos de que este princípio deveria ser a base para a tradução de linguagens de programação e de que sistemas de tempo deveriam ser executados mediante linguagens de programação estruturadas em blocos. Este foi um avanço na modelagem e concepção de sistemas informáticos. Em 1957, juntamente com Friedrich L. Bauer, requereu uma patente para o princípio do armazenamento em pilha.
Samelson desempenhou um papel fundamental no projeto das linguagens de programação ALGOL 58 e ALGOL 60.
De 1958 a 1963 foi professor associado de matemática da Universidade de Mainz. Obteve depois uma cátedra de matemática na Universidade Técnica de Munique, onde começou a desenvolver com Friedrich L. Bauer o currículo para o então campo emergente de informática. Samelson foi membro da International Federation for Information Processing e editor da revista científica Acta Informatica, quando de seu lançamento em 1971.
Klaus Samelson foi casado com sua colega de longa data Ursula Hill-Samelson, que co-desenvolveu um compilador ALGOL-60 em Mainz. Morreu em maio de 1980 de câncer aos 61 anos de idade. Seu espólio científico foi adquirido pelo Deutsches Museum.

## Honrarias

* Em 1987 a praça defronte ao novo prédio do Departamento de Informática da Universidade de Hildesheim é denominada em sua homenagem.

## Publicações selecionadas

* com Alan J. Perlis: Preliminary Report: International Algebraic Language. In: Communications of the ACM. 1(12), 1958, p. 8–22
* Faktorisierung von Polynomen durch funktionale Iteration. Verlag der Bayerischen Akademie der Wissenschaften, München 1959
* com Friedrich L. Bauer: Sequentielle Formelübersetzung (Sequential Formula Translation). In: Elektronische Rechenanlagen. 1(4), 1959, p. 176–182
* com Edsger W. Dijkstra, Willy Heise & Alan J. Perlis ALGOL Sub-Committee Report - Extensions. In: Communications of the ACM. 2(9), 1959, p. 24
* com Friedrich L. Bauer: The problem of a common language, especially for scientific numeral work. In: Information Processing. Proceedings of the International conference on information processing, UNESCO, Paris 15–20 June 1959. UNESCO, Paris 1960, p. 120–124 (PDF; 1,774 MB)
* com John W. Backus, Friedrich L. Bauer, Julien Green, Charles Katz, John McCarthy, Alan J. Perlis, Heinz Rutishauser, Bernard Vauquois, Joseph Henry Wegstein, Adriaan van Wijngaarden & Michael Woodger: Report on the Algorithmic Language ALGOL 60. In: Communications of the ACM. 3(5), 1960, p. 299–314
* com Friedrich L. Bauer: Sequential Formula Translation. In: Communications of the ACM. 3(2), 1960, p. 76–83
* Comments on ALGOL 60 Maintenance and Revisions. In: ALGOL Bulletin. Issue 12, April 1961
* Programming Languages and their Processing. In: Information processing. Proceedings of the IFIP congress 62. North-Holland, Amsterdam 1963, p. 487–492
* com Jürgen Eickel, Manfred Paul & Friedrich L. Bauer: A Syntax Controlled Generator of Formal Language Processors. In: Communications of the ACM. 6(8), 1963, p. 451–455
* com John W. Backus, Friedrich L. Bauer, Julien Green, Charles Katz, John McCarthy, Alan J. Perlis, Heinz Rutishauser, Bernard Vauquois, Joseph Henry Wegstein, Adriaan van Wijngaarden, Michael Woodger & Peter Naur: Revised Report on the Algorithmic Language ALGOL 60. In: Communications of the ACM. 6(1), 1963, p. 1–17
* com Friedrich L. Bauer (Eds.): Language Hierarchies and Interfaces. International Summer School. Springer, Berlin/Heidelberg/New York 1976, ISBN 3-540-07994-7
* (Ed.): ECI Conference 1976. Proceedings of the 1st European Cooperation in Informatics, Amsterdam, The Netherlands, August 9-12, 1976. Springer, 1976, ISBN 0387078045
* com Rupert Gnatz (Eds.): Methoden der Informatik für rechnerunterstütztes Entwerfen und Konstruieren. GI-Fachtagung, München, 19./21. Oktober 1977. Springer, Berlin/Heidelberg/New York 1977, ISBN 3-540-08473-8
* Entwicklungslinien in der Informatik. In: Sigram Schindler & Wolfgang K. Giloi (Eds.): GI – 8. Jahrestagung. Springer, Berlin/Heidelberg/New York 1978, ISBN 3-540-09038-X, p. 132–148
* com Friedrich L. Bauer, Manfred Broy, Walter Dosch, Rupert Gnatz, Bernd Krieg-Brückner, Alfred Laut, Manfred Luckmann, Thomas Matzner, Bernhard Möller, Helmuth Partsch, Peter Pepper, Ralf Steinbrüggen, Martin Wirsing & Hans Wössner: Programming in a Wide Spectrum Language: A Collection of Examples. In: Science of Computer Programming. 1(1-2), 1981, p. 73–114
* com Friedrich L. Bauer: Sequential Formula Translation (Reprint). In: Communications of the ACM. 26(1), 1983, p. 9–13
* com Friedrich L. Bauer, Rudolf Berghammer, Manfred Broy, Walter Dosch, Franz Geiselbrechtinger, Rupert Gnatz, E. Hangel, Wolfgang Hesse, Bernd Krieg-Brückner, Alfred Laut, Thomas Matzner, Bernhard Möller, Friederike Nickl, Helmuth Partsch, Peter Pepper, Martin Wirsing & Hans Wössner: The Munich Project CIP. Volume I: The Wide Spectrum Language CIP-L. Springer, Berlin [u.a.] 1985, ISBN 3-540-15187-7
* Rechenanlagen, in Robert Sauer, István Szabó: Die Mathematischen Hilfsmittel des Ingenieurs, Springer Verlag, Band 3, 1968