← Nieuwste papers
⚛️ quantum physics

A Survey of Quantum Programming Languages

Dit artikel introduceert een classificatiekader om tien populaire kwantumprogrammeertalen te onderzoeken en te vergelijken, waarbij de belangrijkste uitdagingen voor hun toekomstige ontwerp in het licht van recente doorbraken in quantum computing worden geïdentificeerd.

Oorspronkelijke auteurs: Quan Do, Hersh Gupta, Xiyuan Cao, Aarav Pabla, Pranav Singamsetty, Evan O'Grady, Keli Huang, Jens Palsberg

Gepubliceerd 2026-06-26
📖 5 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Quan Do, Hersh Gupta, Xiyuan Cao, Aarav Pabla, Pranav Singamsetty, Evan O'Grady, Keli Huang, Jens Palsberg

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

Stel je voor dat je een huis probeert te bouwen, maar in plaats van standaard bakstenen en hout te gebruiken, bouw je met "kwantumstenen" die op twee plaatsen tegelijk kunnen zijn. Om dit te doen, heb je blauwdrukken nodig en een taal om de bouwploeg precies te vertellen wat ze moeten doen.

Dit artikel is een onderzoek naar de "talen" die programmeurs gebruiken om instructies te schrijven voor deze kwantumcomputers. De auteurs, een team van de UCLA, wilden uitzoeken welke talen de beste hulpmiddelen voor de klus zijn. Ze hebben niet alleen de handleidingen bekeken; ze hebben daadwerkelijk dezelfde drie complexe structuren (algoritmen) gebouwd met tien verschillende talen om te zien hoe makkelijk of moeilijk elk van hen was.

Hier is een overzicht van hun bevindingen met behulp van eenvoudige analogieën:

1. Het Doel: Kwantumstructuren Bouwen

Het team koos drie specifieke "bouwprojecten" om de talen te testen:

  • Shor's Algoritme: Denk aan dit als een meestercursus slotkraken. Het is ontworpen om enorme getallen af te breken in hun priemfactoren (zoals een gigantische Lego-toren uit elkaar halen om de specifieke steentjes te vinden die zijn gebruikt). Dit is beroemd omdat het theoretisch de huidige internetbeveiliging zou kunnen kraken.
  • Hamiltoniaanse Simulatie: Dit is als het simuleren van een complex weersysteem of een chemische reactie. Het doel is om te voorspellen hoe een groep minuscule deeltjes zich in de loop van de tijd zal bewegen en met elkaar zal interageren. Ze testten twee verschillende manieren om dit te doen:
    • Trotterization: Zoals een lange wandeling maken door veel kleine, gestage stappen te zetten.
    • LCU (Linear Combination of Unitaries): Zoals een kortere route nemen door meerdere verschillende paden tegelijk te combineren, maar dit vereist wat meer wiskunde om op te zetten.

2. Het Kader: Hoe ze de Talen Beoordeelden

Om de tien talen (zoals Cirq, Qiskit, Q#, Silq, etc.) te vergelijken, hebben de auteurs een "rapportcijfer" gemaakt met drie hoofdcategorieën:

  • Het Programmeermodel (De Blauwdrukstijl):

    • Embedded (Ingebed): Stel je voor dat je een recept schrijft (het klassieke computergedeelte) en dat je binnen dat recept een aparte, gedetailleerde instructiehandleiding schrijft voor een robot (het kwantumgedeelte). Je moet constant van pet wisselen tussen een chef zijn en een robotprogrammeur zijn. De meeste huidige talen werken op deze manier.
    • Hybrid (Hybride): Stel je een keuken voor waar de chef en de robot in hetzelfde team zitten en dezelfde taal spreken. Je kunt de robot vertellen om een groente te snijden en hem dan direct vertellen om de pan te roeren, allemaal in één vloeiende beweging. Dit verloopt soepeler, maar is moeilijker te bouwen.
  • Expressiviteit (De Gereedschapskist):
    Heeft de taal de juiste instrumenten om de klus makkelijk te maken?

    • Pauli Manipulatie: Heeft de taal kant-en-klare "Lego-steentjes" voor de specifieke natuurkundige wiskunde die nodig is, of moet je de wiskunde vanaf nul opbouwen?
    • Klassieke Data-encodering: Kan het gemakkelijk normale getallen omzetten in kwantumtoestanden?
    • Kwantumgetallen: Kan het rekenen met "kwantumgetallen" (getallen die gemaakt zijn van qubits) net zoals wij rekenen met normale getallen?
    • Dynamische Allocatie: Kan de taal een nieuw gereedschap (qubit) van de plank pakken wanneer je het nodig hebt, en het weer terugleggen als je klaar bent, zonder dat je vooraf precies hoeft te tellen hoeveel gereedschappen je nodig zult hebben?
  • Veiligheid (De Leuningen):

    • Type Veiligheid (Type Safety): Houdt de taal je tegen als je probeert een hamer op een schroef te gebruiken? Het controleert je code voordat je deze uitvoert om te controleren of je geen domme fouten maakt.
    • Initialisatie Veiligheid (Initialization Safety): In kwantumcomputing, als je een "vuil" gereedschap hergebruikt (een qubit die eerder is gebruikt), kan dit je nieuwe project verstoren. Een veilige taal maakt het gereedschap automatisch schoon (uncomputes het) zodat het weer fris en klaar is voor gebruik.

3. De Resultaten: Geen Perfect Gereedschap

Het team schreef dezelfde programma's in tien verschillende talen (een mix van industriële tools zoals Google's Cirq en Microsoft's Q#, en academische tools zoals Silq).

  • De Grote Bevinding: Er is nog geen "perfecte" taal.

    • Sommige talen zijn geweldig in veiligheid (zoals Silq, dat zijn gereedschappen automatisch schoonmaakt) maar missen enkele van de geavanceerde wiskundige shortcuts.
    • Sommige talen zijn geweldig in wiskundige shortcuts (zoals CUDA-Q of Cirq) maar vereisen dat de programmeur heel voorzichtig is met het beheer van zijn gereedschappen.
    • Sommige talen zijn "Hybride" (mengen klassiek en kwantum soepel), terwijl andere "Embedded" zijn (houdt ze gescheiden).
  • De "Regels Code"-test: Ze telden hoeveel regels code er nodig waren om dezelfde structuur in elke taal te bouwen.

    • Q# en Silq waren erg beknopt (weinig regels) voor sommige taken.
    • PyQuil en CUDA-Q vereisten soms meer regels omdat ze dingen handmatig moesten opbouwen die andere talen automatisch doen.
    • Interessant genoeg vereiste de "LCU"-methode van simulatie altijd meer code dan de "Trotterization"-methode, ongeacht de taal.

4. De Conclusie

Het artikel concludeert dat hoewel we veel talen hebben om uit te kiezen, geen van de talen alles heeft wat we nodig hebben.

  • Als je veiligheid wilt, kun je misschien inleveren op gebruiksgemak.
  • Als je krachtige wiskundige tools wilt, moet je misschien zelf het geheugen (de qubits) beheren.

De auteurs hopen dat dit onderzoek toekomstige taalontwerpers helpt bij het bouwen van een "Zwitsers zakmes"-taal die zowel de beste veiligheid, de beste wiskundige tools als de soepelste workflow heeft, waardoor kwantumprogrammeren toegankelijk wordt voor iedereen, niet alleen voor natuurkundigen.

Kortom: Kwantumprogrammeren is als het leren rijden in een nieuw type auto. Op dit moment hebben we tien verschillende modellen (talen). Sommige hebben goede remmen (veiligheid), sommige hebben krachtige motoren (expressiviteit), maar geen van alle heeft nog de perfecte combinatie van functies. Dit onderzoek is de eerste stap in het uitzoeken hoe die perfecte auto eruit moet zien.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →