Quantumcomputers bestaan ​​nauwelijks - dit is waarom we er toch talen voor schrijven

IBM Onderzoek | Flickr





Quantumcomputers zijn nog steeds uiterst rudimentair en blijven grotendeels intrigerende speeltjes in een paar geavanceerde onderzoekslaboratoria. Dat heeft mensen er niet van weerhouden om nieuwe programmeertalen voor hen te ontwikkelen.

De meest recente is afkomstig van Microsoft, dat Q# (uitgesproken als Q sharp) en enkele bijbehorende tools heeft onthuld om ontwikkelaars te helpen het te gebruiken om software te maken. Het voegt zich bij een groeiende lijst van andere kwantumprogrammeertalen op hoog niveau, zoals QCL en Quipper.

Maar gezien het feit dat vrijwel niemand een kwantumcomputer heeft, wat heeft het voor zin?



Krysta Svore, hoofdonderzoeksmanager in kwantumcomputing bij Microsoft, zegt dat de talen nodig zijn omdat de talen die zijn geschreven voor de huidige computers niet zullen werken voor de kwantumcomputers. Klassieke computers coderen informatie in binaire vorm als een reeks van enen en nullen, terwijl kwantumcomputers kwantumbits - of qubits - gebruiken die effectief één en nul tegelijkertijd kunnen coderen.

Dit zorgt voor enorme hoeveelheden parallelle verwerkingskracht en verklaart waarom er zo'n grote belangstelling is voor pogingen om de machines te bouwen. De hoop is dat kwantumcomputers aanzienlijke vooruitgang zullen helpen boeken op gebieden variërend van materiaalwetenschap tot kunstmatige intelligentie (zie Een start-up gebruikt computers om machinaal leren te stimuleren).

Maar om die kracht volledig te benutten of zelfs te onderzoeken wat er mogelijk is, hebben ontwikkelaars kwantumtalen nodig om hen te helpen software te maken die volledig profiteert van de mogelijkheden van de computers.



Programmeertalen voor klassieke computers zijn zo ontworpen dat ontwikkelaars niet hoeven te weten hoe een centrale verwerkingseenheid werkt. De push is nu om kwantumprogrammeertalen op hoog niveau te creëren die ontwikkelaars ook beschermen tegen de complexiteit van kwantumhardware.

De eigenaardigheden van quantum computing creëren beperkingen die niet bestaan ​​in klassieke programmeertalen. Een voorbeeld: kwantumprogramma's kunnen geen lussen bevatten die een reeks instructies herhalen; ze moeten doorlopen tot aan de voltooiing.

Om dergelijke problemen op te lossen, werkt Q# in combinatie met een aantal klassieke talen. Ontwikkelaars zonder kwantumexpertise kunnen hun hoofdprogramma's in bekende talen schrijven en vervolgens een Q#-programma gebruiken wanneer ze kwantumverwerkingskracht willen gebruiken.



Verwant verhaal Als het zijn belofte waarmaakt, kan kwantummachine learning AI transformeren.

Hoewel Microsoft nog geen eigen kwantumcomputer heeft, heeft Microsoft simulators uitgebracht waarmee ontwikkelaars programma's die in Q# zijn ontwikkeld, kunnen testen op desktopcomputers of op de Azure-cloudcomputingservice. IBM is ook offeren simulators, en een paar gelukkige ontwikkelaars kunnen hun code zelfs rechtstreeks op de kwantummachine uitvoeren.

Xiaodi Wu, een expert in kwantumprogrammeertaal aan de Universiteit van Maryland, ziet nieuwe kwantumtalen op hoog niveau als een logische volgende stap. Dit zal de deur openen voor meer mensen die deze machines gebruiken, zegt hij, wat zou kunnen leiden tot nieuwe onderzoeksgebieden voor de kwantumonderzoeksgemeenschap.

Er zijn enkele oproepen geweest om nieuwe kwantumtalen open source te maken, zodat de bredere ontwikkelaarsgemeenschap input kan bieden. Het idee is dat dit kwantumcomputing dezelfde soort boost kan geven als de ontwikkeling van Linux aan het internet.



Taalontwikkelaars hebben ook een ander doel: studenten die nadenken over toekomstige carrières. Nieuwe talen die kwantumcomputing toegankelijker maken, moeten meer mensen naar het veld lokken. We willen het kwantumpersoneel ontwikkelen, zegt Svore, omdat kwantumcomputing een geheel nieuwe economie zal ontsluiten, en we zullen mensen nodig hebben die kwantumprogrammeurs, algoritmeontwikkelaars en ingenieurs zijn.

zich verstoppen