211service.com
Kvantdatorer existerar knappt - här är varför vi skriver språk för dem ändå
IBM Research | Flickr
Kvantdatorer är fortfarande extremt rudimentära och förblir till stor del spännande leksaker i några avancerade forskningslabb. Det har inte avskräckt människor från att utveckla nya programmeringsspråk för dem.
Den senaste kommer från Microsoft, som har avslöjat Q# (uttalas Q sharp) och några tillhörande verktyg för att hjälpa utvecklare att använda den för att skapa mjukvara. Det ansluter sig till en växande lista över andra högnivåkvantprogrammeringsspråk som QCL och Quipper.
Men med tanke på att praktiskt taget ingen har en kvantdator, vad är poängen?
Krysta Svore, forskningschef inom kvantberäkning på Microsoft, säger att språken behövs eftersom de som är skrivna för dagens datorer inte fungerar för kvantdatorer. Klassiska datorer kodar information i binär form som en sekvens av ettor och nollor, medan kvantdatorer använder kvantbitar - eller kvantbitar - som effektivt kan koda en och noll samtidigt.
Detta skapar enorma mängder parallell processorkraft och förklarar varför det finns ett så stort intresse för ansträngningar att bygga maskinerna. Förhoppningen är att kvantdatorer ska hjälpa till att driva betydande framsteg inom områden som sträcker sig från materialvetenskap till artificiell intelligens (se A Startup Uses Computing to Boost Machine Learning).
Men för att fullt ut utnyttja den kraften eller till och med utforska vad som är möjligt kommer utvecklare att behöva kvantspråk för att hjälpa dem att skapa programvara som drar full nytta av datorernas kapacitet.
Programmeringsspråk för klassiska datorer är designade på ett sätt som inte kräver att utvecklare vet hur en central enhet fungerar. Insatsen nu är att skapa kvantprogrammeringsspråk på hög nivå som också skyddar utvecklare från komplexiteten hos kvanthårdvara.
Egenskaperna med kvantberäkning skapar begränsningar som inte finns i klassiska programmeringsspråk. Ett exempel: kvantprogram kan inte ha loopar i dem som upprepar en sekvens av instruktioner; de måste löpa rakt igenom till slutförandet.
För att hantera sådana problem fungerar Q# tillsammans med ett par klassiska språk. Utvecklare utan kvantexpertis kan skriva sina huvudprogram på välbekanta språk och sedan använda ett Q#-program när de vill använda kvantprocessorkraft.
Relaterad berättelse
Relaterad berättelse Om den uppfyller sitt löfte kan kvantmaskininlärning förändra AI.Även om den inte har en egen kvantdator ännu, har Microsoft släppt simulatorer som låter utvecklare testa program utvecklade i Q# på stationära datorer eller på dess Azure-molntjänst. IBM är också erbjudande simulatorer, och några lyckliga utvecklare kan till och med köra sin kod direkt på sin kvantmaskin.
Xiaodi Wu, en expert på kvantprogrammeringsspråk vid University of Maryland, ser nya kvantspråk på hög nivå som ett logiskt nästa steg. Detta kommer att öppna dörren för fler människor som använder dessa maskiner, säger han, vilket kan leda till nya forskningsfält för kvantforskarsamhället.
Det har förekommit några uppmaningar om att göra nya kvantspråk till öppen källkod så att den bredare utvecklargemenskapen kan erbjuda input. Tanken är att detta kan ge kvantdatorn samma slags uppsving som utvecklingen av Linux gav Internet.
Språkutvecklare har också ett annat mål: studenter som funderar på framtida karriärer. Nya språk som gör kvantdatorn mer tillgänglig borde locka fler människor till fältet. Vi vill utveckla kvantarbetskraften, säger Svore, eftersom kvantberäkning kommer att låsa upp en helt ny ekonomi, och vi kommer att behöva människor som är kvantprogrammerare, algoritmutvecklare och ingenjörer.