Quantum computers are the future, says Microsoft CEO Satya Nadella. And he has put Microsoft’s money where his mouth is, making quantum computing one of the three pillars of Microsoft’s strategy going forward. Along with AI and mixed/augmented reality, it’s an area where Nadella believes that Microsoft can make a significant impact, and where it can differentiate itself from its competition.

But building a quantum computer is hard. Microsoft’s current progress is the result of more than 20 years of research investment, working with universities around the world, mixing pure physics with computer science, and turning experimental ideas into products. There’s a lot of ambition here, with the eventual aim of building scalable quantum computers that anyone can use.

Microsoft’s new approach to quantum computers: Majorana particles

differs from the technologies used by companies like DWave, taking a new approach to creating the qubits, the quantum bits at the heart of the process. Working with university researchers, Microsoft has been exploring use of a new type of particle, the . Initially proposed in the late 1930s, Marjorana particles have only recently been detected in semiconductor nanowires at very low temperatures.

Compared to other qubit approaches, the Majorana particles used by Microsoft’s quantum computers are more stable and have lower error rates, spreading out the electron state across a topological knot that’s less likely to evaporate when its state is read. This topological approach to quantum computing is something that Nadella calls “a transistor moment for quantum computers.” It might not be the quantum processor, but it’s the first step on that road.

(usually referred to as Liquid), a set of tools to simulate a 30-qubit environment on a PC with 32GB of memory. Microsoft says you’ll be able to deploy large quantum simulators with more than 40 qubits in 16TB on Azure, though solving problems of that size will take a long time without the acceleration of a real quantum computer.

Still, with Liquid, you can experiment with key quantum computing concepts using F#, seeing how you’ll build algorithms to handle complex mathematical concepts, as well as understanding how to work with low-level error-correction algorithms.

Microsoft’s new quantum computing language will build on lessons learned with Liquid, but it won’t be based on F#. The language’s name hasn’t been revealed yet, but amusingly some early screenshots of quantum code being edited in Visual Studio appeared to use the same file extension as the classic Quick Basic.

I recently spoke with Krysta Svore, the lead of Microsoft Research ’s Redmond Quantum computing group, which works on building the software side of Microsoft’s planned scalable quantum computer. It’s a fascinating side of the project, taking the low-level quantum algorithms needed to work with experimental hardware and finding ways of generating them from familiar high-level languages. If Svore’s team is successful, you won’t need to know about the quantum computer you’re programming; instead, you’ll write code, publish it to Azure, and run it.

The goal is that you’ll be able to concentrate on your code, not think about the underlying quantum circuitry. For example, instead of building the connections needed to construct a quantum Fourier transform, you’ll call a QFT library, writing additional code to prepare, load, and read data. As Svore notes, many quantum algorithms are hybrids, mixing preprocessing and postprocessing with quantum actions, often using them as part of loops run in a classical supercomputer.

There’s also a role for AI techniques, using machine learning to identify elements of code, understanding where and how they work best.

Developers’ road to Microsoft’s quantum computing

Developers who experiment with Liquid will be able to bring their applications to the new platform, with migration tools to help with the transition. Using the Azure-based quantum simulator should help, because it supports many more qubits than a PC does. It’ll also let you explore working with execution-based parallelism, where you run multiple passes over the same data, rather than the more familiar model.

You can get a feel for what this means for computing when you consider an 80-qubit operation. Svore notes that a single operation in a quantum computer takes 100ns, no matter how many qubits you have. The same operation in a classical computer would require more particles than in the visible universe, taking longer than the lifetime of the universe. Solving that type of problem in 100ns is a huge leap forward, one that opens new directions for scientific computing.

Microsoft’s quantum computing work is a big bet on the future of computing. Today, it’s a long way from every day use, still in the domain of pure research, even if that research is coming up with promising results.

Where Microsoft’s quantum-computing work really will make a difference is if it can deliver a programming environment that will let us take hard problems and turn them into quantum algorithms quickly and repeatedly, without having to go beyond the familiar world of IDEs and parallel programming constructs. Getting that right will really change the world, in ways we can’t yet imagine.