Quantencomputing: Die Hochsprache Silq

Silq abstrahiert als höhere Sprache für Quantencomputer von deren physikalischen Eigenheiten. Die Sprache bietet Features, die das Programmieren erleichtern.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht
Lesezeit: 20 Min.
Von
Inhaltsverzeichnis

Wer derzeit Quantencomputer programmiert, spricht häufig einzelne Qubits direkt an. Das erinnert an die Frühzeit herkömmlicher Computer und hat wenig mit modernen Hochsprachen zu tun. Die meisten Programmiersprachen für Quantencomputer wie Quipper, Q# oder QASM sind eher Low-Level-Sprachen und stellen nur bedingt eine beschreibende Sicht auf Quantenalgorithmen zur Verfügung. Toolkits wie Qiskit, Forest und Cirq nutzen zwar High-Level-Sprachen wie Python oder MATLAB, die aber wurden für klassische Rechner entwickelt. Die in Quantencomputern zentralen Quanteneffekte sind in diesen Sprachen Fremdkörper.

Deshalb hat die ETH Zürich die Programmiersprache Silq entwickelt, mit der sich Low-Level-Manipulationen von Qubits abstrahieren lassen. Statt etwa Quantenzustände als Vektoren darzustellen, definiert Silq passende Typen. Für sie bietet Silq die jeweils zulässigen Operatoren, sodass Programmiererinnen Quantenzustände nicht erst umständlich mit Matrixoperationen und Tensorprodukten manipulieren müssen.

Schwerpunkt Quantencomputing

Dieses auf Quanteneffekte zugeschnittene Typsystem ist eine der wichtigsten Neuheiten in Silq. Es kann Programmierer vor manchen Fehlern bewahren und erlaubt es, Algorithmen prägnant zu formulieren. Außerdem ermöglicht das Typsystem von Silq automatische Uncomputation.