Die Laureaten

Copyright © Klaus Tschira Stiftung / Peter Badge

Sir C. Antony R. Hoare

geboren am 11. Januar 1934 in Colombo (Sri Lanka)

Turing-Preis (1980) “für seine fundamentalen Beiträge zur Definition und Entwicklung der Computer-Programmierung”

Tony Hoare kam als Sohn britischer Eltern in der Hauptstadt des damaligen Ceylon (heute Sri Lanka) zur Welt. Sein Vater arbeitete als Beamter und trat 1945 in den britischen Staatsdienst ein; er wurde schließlich Lehrer. Tony Hoare ging in Ceylon und Afrika zur Schule. 1945 zog seine Familie nach England, wo er seine Ausbildung in Canterbury und Oxford fortsetzte. Für seinen Bachelor studierte er klassische Fächer (Latein, Griechisch und vor allem Philosophie) und entwickelte dabei ein besonderes Interesse für Logik, das ihn wiederum in die Statistik und die Grundlagen der Mathematik führte. Ab 1956 lernte er während seines zweijährigen Militärdienstes in der Royal Navy Russisch. 1958 machte er in Oxford einen Abschluss in Statistik und studierte anschließend ab 1959 für zwei Jahre an der Moskauer Staatsuniversität die computergestützte Übersetzung menschlicher Sprache. Während dieser Zeit entwickelte Hoare den berühmten Sortieralgorithmus Quicksort. Wieder in England, trat er bei Elliott Brothers ein, einer kleinen Computerfirma (1960). Er arbeitete an einer der frühen Implementierungen von ALGOL 60 mit, einer Programmiersprache, die 1960 von einem internationalen Expertenkomitee entwickelt worden war.

Dort traf er seine zukünftige Frau, die am selben Projekt als Programmiererin arbeitete. Sie war – so Hoare – wesentlich disziplinierter war als er. Als seine industriellen Forschungsprojekte aufgrund von Veränderungen in der Firma gestrichen wurden, übernahm Hoare 1968 die Professur für Informatik an der Queen’s University in Belfast. 1977 zog es ihn zurück an die Oxford University, wo er den Aufbau der Programming Research Group fortführte, den sein kurz zuvor verstorbener Vorgänger Christopher Strachey begonnen hatte. Dabei war ihm der enge Kontakt zu Unternehmen immer besonders wichtig, gerade mit Blick auf die Ausbildung junger Leute. Er führte eine Reihe von Abschlüssen im Grund- und Hauptstudium in Oxford ein, darunter einen externen Master für Softwareingenieure in der Industrie. Er fungierte weiterhin als Berater in der Industrie und initiierte gemeinsame Forschungsprojekte. Auch nach seiner Emeritierung ist Tony Hoare Gastwissenschaftler bei Microsoft Research und Ehrenmitglied des Cambridge University Computing Laboratory.

2000 wurde Tony Hoare für seine Verdienste um die Informatik und deren Vermittlung von der Queen zum Ritter geschlagen. Im selben Jahr erhielt er den Kyoto Preis für Information Science, 2007 den Friedrich L. Bauer Preis. 2011 wurde ihm die John-von-Neumann-Medaille verliehen. Seit 1982 ist Hoare Fellow der Royal Society, seit 2005 Fellow der Royal Academy of Engineering. Darüber hinaus wurde er vielfach mit Ehrendoktorwürden europäischer und amerikanischer Universitäten ausgezeichnet.

In seine Freizeit beschäftigt sich Hoare mit Lesen, Musik hören, Spazierengehen, Reisen und mit dem Lösen von Kreuzworträtseln.

Hoare wurde in der Fachwelt berühmt für seine Arbeiten zur Formalisierung von Computerprogrammen und sein Aufsatz “An Axiomatic Basis for Computer Programming” von 1969 wurde zu einem Meilenstein der Literatur für Programmierer. Hoares Ziel: Computersprachen sollten auf Grundlage von Axiomen designt werden und die damit geschriebenen Programme sollten auf klaren Spezifizierungen basieren. Das macht ihre Überprüfung so einfach wie möglich. In die geforderte Axiomatik flossen Hoares Erfahrungen bei der Implementierung von Algol 60 ein.

In den 1970er Jahren entwickelte Hoare auch eine theoretische Sprache, Communicating Sequential Processes (CSP), mit der es möglich ist, Komponenten eines Programms als parallel laufende Prozesse zu formulieren. Dies wurde in der Architektur des Transputers implementiert, einem weit verbreiteten Mikroprozessor, der in Europa entwickelt und hergestellt wurde.

Die vermutlich bekannteste Erfindung von Hoare ist jedoch “Quicksort”, ein Algorithmus, mit dem sich Zahlen ziemlich schnell sortieren lassen. Die Idee ist so einfach wie genial: Man pickt sich zufällig eine Zahl heraus, und teilt die Menge in zwei Teile auf: Die eine Hälfte enthält nur Zahlen, die kleiner als die Zahl sind, die andere den Rest. Anschließend lässt man auf den beiden Teilmengen wieder Quicksort laufen. Im Durchschnitt hat dieser Algorithmus die bestmögliche Laufzeit für einen Sortieralgorithmus.