Vor genau 50 Jahren landete der ETH Informatik-Professor Niklaus Wirth mit einer neuen Programmiersprache aus der Schweiz einen Welterfolg: «Pascal» steckte im ersten Macintosh Betriebssystem genauso wie im Bildbearbeitungsprogramm Photoshop oder in der Chat-Applikation «Skype». Der Grund für den Erfolg: mehr Sicherheit, mehr Effizienz.
Nun arbeitet ein kleines Team an der ETH Zürich unter der Leitung von Informatik-Professor Martin Vechev an der ersten höheren Programmiersprache für den neuartigen Quantencomputer mit ähnlichen Absichten: «Das Hauptziel war für uns, dass der Programmierer mit ‹Silq› sich möglichst einfach ausdrücken kann», sagt Benjamin Bichsel, Informatiker und Projektleiter. Elegant soll sich die neue Sprache anfühlen, daher der englische Ausdruck für «Seide» im Namen.
Der Mensch steht im Zentrum
Über eine Programmiersprache teilt der Mensch der Maschine mit, was diese zu tun hat. Zu Beginn des Computerzeitalters musste man bei der Software-Entwicklung jedes Schrittchen genau definieren und in abstrakten Codes festhalten. Wer programmierte, musste denken wie die Maschine und in der Sprache der Maschine. Dieses Vorgehen ist aufwendig und fehleranfällig.
Abhilfe schaffte die Einführung höherer Programmiersprachen, die sich der Logik und Sprache des Menschen anpassen. Spezielle Software, ein sogenannter Compiler, übersetzt die Menschensprache in Maschinensprache.
Diese Übersetzer-Software kann auch frühzeitig Fehler erkennen, bevor das Programm überhaupt läuft. Ohne Compiler wären Smartphones, Online-Shops oder digitale Kameras kaum denkbar.
Erste höhere Sprache für Quantencomputer
Die Geschichte wiederholt sich: Existierende Programmiersprachen für Quantencomputer erinnern an die Anfänge der elektronischen Rechner. Das soll sich nun ändern, meint Benjamin Bichsel: «Silq vereinfacht die Arbeit des Programmierers. Er kann nun elegant beschreiben, was er möchte und die effiziente Ausführung dem Compiler überlassen.» «Silq» kann noch mehr: Der Compiler kümmert sich im Hintergrund um die Speicherverwaltung, die beim Quantencomputer besonders kompliziert und fehleranfällig ist.
Trotz der neuen Sprache bleibe die Programmierung eines Quantencomputers äussert anspruchsvoll, sagt Max Baader, der Physiker im Team: «Man setzt sich nicht einfach hin und programmiert einen Quanten-Algorithmus.» Es brauche viel Denkarbeit, mathematische Überlegungen und Kreativität.
Für welche Berechnungen sich der neue Computer eignet, muss sich erst noch weisen. «Silq» kann hier helfen, denn die neue Sprache wird sicher das Interesse bei Programmierern am neuen Gebiet wecken. Neugierige können «Silq» herunterladen, auf einem klassischen Computer installieren und damit experimentieren.
Der Durchbruch lässt auf sich warten
Nicht nur die Programmierung für den Quantencomputer ist anspruchsvoll, auch die Konstruktion der Hardware stellt eine gigantische Herausforderung dar. Obwohl schon seit 40 Jahren geforscht wird, rechnen klassische Computer immer noch schneller. Kritiker bezweifeln, ob sich das jemals ändern wird.
Haben die Entwickler von «Silq» nicht Angst, dass ihre Arbeit für die Katze ist? Nein, meint Benjamin Bichsel. Für ihn stellt sich ein anderes Problem: «Was, wenn wir eines Tages leistungsfähige Quantencomputer haben, aber keine Programmiersprachen?»