← Neueste Arbeiten
⚛️ quantum physics

A Survey of Quantum Programming Languages

Dieses Paper führt ein Klassifizierungsrahmenwerk ein, um zehn populäre Quantenprogrammiersprachen zu untersuchen und zu vergleichen sowie die zentralen Herausforderungen für deren zukünftiges Design angesichts der jüngsten Durchbrüche im Quantencomputing zu identifizieren.

Ursprüngliche Autoren: Quan Do, Hersh Gupta, Xiyuan Cao, Aarav Pabla, Pranav Singamsetty, Evan O'Grady, Keli Huang, Jens Palsberg

Veröffentlicht 2026-06-26
📖 5 Min. Lesezeit🧠 Tiefgang

Ursprüngliche Autoren: Quan Do, Hersh Gupta, Xiyuan Cao, Aarav Pabla, Pranav Singamsetty, Evan O'Grady, Keli Huang, Jens Palsberg

Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen

Stellen Sie sich vor, Sie wollten ein Haus bauen, aber anstatt herkömmlicher Ziegel und Holz verwenden Sie „Quanten-Ziegel“, die an zwei Orten gleichzeitig existieren können. Um dies zu tun, benötigen Sie Baupläne und eine Sprache, um der Bauteam genau zu sagen, was zu tun ist.

Dieses Papier ist eine Untersuchung der „Sprachen“, die Programmierer verwenden, um Anweisungen für diese Quantencomputer zu schreiben. Die Autoren, ein Team von der UCLA, wollten herausfinden, welche Sprachen die besten Werkzeuge für die Aufgabe sind. Sie haben nicht nur die Handbücher gelesen; sie haben tatsächlich dieselben drei komplexen Strukturen (Algorithmen) mit zehn verschiedenen Sprachen gebaut, um zu sehen, wie einfach oder schwierig dies jeweils war.

Hier ist eine Aufschlüsselung ihrer Ergebnisse unter Verwendung einfacher Analogien:

1. Das Ziel: Quantenstrukturen bauen

Das Team wählte drei spezifische „Bauprojekte“, um die Sprachen zu testen:

  • Shors Algorithmus: Denken Sie an dies als ein meisterhaftes Schlossknacker-Werkzeug. Es ist darauf ausgelegt, riesige Zahlen in ihre Primfaktoren zu zerlegen (wie das Auseinandernehmen eines riesigen Lego-Turms, um die spezifischen Steine zu finden, aus denen er besteht). Dies ist berühmt, weil es theoretisch die aktuelle Internetsicherheit brechen könnte.
  • Hamiltonian-Simulation: Dies ist wie die Simulation eines komplexen Wettersystems oder einer chemischen Reaktion. Das Ziel ist es, vorherzusagen, wie eine Gruppe winziger Teilchen sich über die Zeit bewegt und interagiert. Sie testeten zwei verschiedene Wege, dies zu tun:
    • Trotterisierung: Wie ein langer Spaziergang, indem man viele kleine, stetige Schritte macht.
    • LCU (Linear Combination of Unitaries): Wie das Nehmen einer Abkürzung, indem man mehrere verschiedene Pfade gleichzeitig kombiniert, aber dies erfordert etwas mehr Mathematik für die Einrichtung.

2. Der Rahmen: Wie sie die Sprachen bewerteten

Um die zehn Sprachen (wie Cirq, Qiskit, Q#, Silq usw.) zu vergleichen, erstellte das Team ein „Zeugnis“ mit drei Hauptkategorien:

  • Das Programmiermodell (Der Blueprint-Stil):

    • Embedded (Eingebettet): Stellen Sie sich vor, Sie schreiben ein Rezept (den klassischen Computerteil) und schreiben innerhalb dieses Rezepts eine separate, detaillierte Bedienungsanleitung für einen Roboter (den Quantenteil). Sie müssen ständig zwischen der Rolle des Kochs und des Roboterprogrammierers wechseln. Die meisten aktuellen Sprachen funktionieren so.
    • Hybrid: Stellen Sie sich eine Küche vor, in der der Koch und der Roboter im selben Team sind und dieselbe Sprache sprechen. Sie können dem Roboter sagen, dass er ein Gemüse schneiden soll, und ihm dann sofort sagen, dass der Koch den Topf rühren soll, alles in einem kontinuierlichen Fluss. Dies ist reibungsloser, aber schwieriger zu bauen.
  • Ausdrucksstärke (Der Werkzeugkasten):
    Hat die Sprache die richtigen Werkzeuge, um die Aufgabe zu erleichschen?

    • Pauli-Manipulation: Verfügt sie über vorgefertigte „Lego-Steine“ für die spezifische Physik-Mathematik, die benötigt wird, oder müssen Sie die Mathematik von Grund auf neu aufbauen?
    • Klassische Datenkodierung: Kann sie normale Zahlen leicht in Quantenzustände umwandeln?
    • Quanten-Ganzzahlen: Kann sie mit „Quantenzahlen“ (Zahlen, die aus Qubits bestehen) rechnen, genau wie wir mit normalen Zahlen rechnen?
    • Dynamische Allokation: Kann die Sprache ein neues Werkzeug (Qubit) nur dann aus dem Regal greifen, wenn Sie es brauchen, und es wieder zurücklegen, ohne dass Sie vorher genau zählen müssen, wie viele Werkzeuge Sie benötigen werden?
  • Sicherheit (Die Leitplanken):

    • Typsicherheit: Verhindert die Sprache, dass Sie versuchen, einen Hammer für eine Schraube zu benutzen? Sie prüft Ihren Code, bevor Sie ihn ausführen, um sicherzustellen, dass Sie keine dummen Fehler machen.
    • Initialisierungssicherheit: In der Quantenberechnung – wenn Sie ein „schmutziges“ Werkzeug wiederverwenden (ein Qubit, das zuvor verwendet wurde), kann dies Ihr neues Projekt stören. Eine sichere Sprache reinigt das Werkzeug automatisch (uncomputes es), damit es frisch und bereit zur Wiederverwendung ist.

3. Die Ergebnisse: Kein perfektes Werkzeug

Das Team schrieb dieselben Programme in zehn verschiedenen Sprachen (eine Mischung aus Industriewerkzeugen wie Googles Cirq und Microsofts Q# sowie akademischen Werkzeugen wie Silq).

  • Die wichtigste Erkenntnis: Es gibt noch keine „perfekte“ Sprache.

    • Einige Sprachen sind großartig bei der Sicherheit (wie Silq, das seine Werkzeuge automatisch reinigt), aber es fehlen ihnen einige der ausgeklügelten mathematischen Abkürzungen.
    • Einige Sprachen sind großartig bei mathematischen Abkürzungen (wie CUDA-Q oder Cirq), erfordern aber, dass der Programmierer sehr vorsichtig mit der Verwaltung seiner Werkzeuge ist.
    • Einige Sprachen sind „Hybrid“ (mischen klassisch und quantenmechanisch reibungslos), während andere „Embedded“ sind (halten sie getrennt).
  • Der „Codezeilen“-Test: Sie zählten, wie viele Zeilen Code benötigt wurden, um dieselbe Struktur in jeder Sprache zu bauen.

    • Q# und Silq waren sehr prägnant (weniger Zeilen) für einige Aufgaben.
    • PyQuil und CUDA-Q erforderten manchmal mehr Zeilen, da sie Dinge manuell aufbauen mussten, die andere Sprachen automatisch erledigten.
    • Interessanterweise erforderte die „LCU“-Methode der Simulation immer mehr Code als die „Trotterisierung“-Methode, unabhängig von der Sprache.

4. Das Fazit

Das Papier kommt zu dem Schluss, dass wir zwar viele Sprachen zur Auswahl haben, aber keine von ihnen alles bietet, was wir brauchen.

  • Wenn Sie Sicherheit wollen, verlieren Sie vielleicht an Benutzerfreundlichkeit.
  • Wenn Sie leistungsstarke mathematische Werkzeuge wollen, müssen Sie vielleicht den Speicher (die Qubits) selbst verwalten.

Die Autoren hoffen, dass diese Untersuchung zukünftigen Sprachdesignern hilft, eine „Schweizer Taschenmesser“-Sprache zu bauen, die die beste Sicherheit, die besten mathematischen Werkzeuge und den reibungslosesten Arbeitsablauf besitzt, um das Quantenprogrammieren für alle zugänglich zu machen, nicht nur für Physikexperten.

Kurz gesagt: Quantenprogrammierung ist wie das Erlernen des Fahrens eines neuen Typs von Auto. Im Moment haben wir zehn verschiedene Modelle (Sprachen). Einige haben großartige Bremsen (Sicherheit), einige haben leistungsstarke Motoren (Ausdrucksstärke), aber keines hat bisher die perfekte Kombination aus Funktionen. Dieses Papier ist der erste Schritt, um herauszufinden, wie dieses perfekte Auto aussehen sollte.

Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?

Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.

Digest testen →