Att kvantdatorer är nästa stora grej verkar helt klart, men det lär dröja ett antal år innan de slår igenom. Utvecklingen befinner sig ännu i sin linda och en av frågorna som dyker upp är hur man ska programmera de framtida monsterdatorerna.

Läs också: Kvantrally mellan Intel och IBM

Microsoft är ett av de företag som funderar på det här. Förutom att formulera en syntax för att beskriva de operationer som ska utföras, till exempel beräkningar, så behövs det även mekanismer för att tolka de svar som man får från en kvantdator, skriver Infoworld.

I stora drag är det tänkt att fungera så här:

  • Ett vanligt program får värden antingen från en användares inmatning eller från ett annat program.
  • Värdena skickas vidare till ett kvantprogram som manipulerar en kvantdators qubitar, med hjälp av någon algoritm.
  • Resultatet skickas tillbaka till det första programmet, som tolkar det.

Arbetsgången påminner till exempel om hur man använder superdatorer i vissa tillämpningar, till exempel med språket Fortran. Microsofts lösning är ett nytt språk som heter Q#.

Q# och tillhörande bibliotek körs som ett tillägg till Microsofts utvecklingsverktyg Visual Studio. Det finns även en kvantsimulator, så att man kan prova tekniken utan att ha en kvantdator. Själva språket Q# har drag av både C# och F#, så utvecklare i Microsoftsfären borde känna igen sig till viss del.

Läs också: Här är de starkaste tekniktrenderna i Sverige just nu

Q#-program definierar vektorer av qubitar och att använda matematiska transformationer för att manipulera dem. Arbetssättet finns beskrivet i mer detalj här.

Q# är ett språk med starka datatyper och det finns några nya typer som representerar qubitar och grupper av qubitar. Det finns också ett begrepp som heter operationer (operations). Det är satser som innefattar kvantoperationer, till skillnader från funktioner som innefattar ”klassisk” kod. Funktioner kan dock använda resultat av kvantoperationer.