“The future is quantum” — Are you excited to write your first quantum computing code using Microsoft’s Q#?

7 min read

The quantum economy is coming

“I’ve seen things you people wouldn’t believe” – Few people loved to hear what the replicant Roy Batty (played by Rutger Hauer) had to say in its legendary death speech. But while the 1982-released Blade Runner showed us a world where everything that could go wrong had gone wrong, the monologue retains its level of disbelief in 2017. Albeit from the other end. The promise of an astonishing future has a positive undertone this time!

If the artificial intelligence, the Internet of Things, and the Self-driving cars were not all, the big daddy of all, ‘Quantum Computing’ is underway.

It’s not yet a fad, but craze for such a marvel abounds. Every inch we move towards Quantum Computing (it’s acceleration, stupid!) the future looks stupefying. And now with Microsoft releasing its own quantum programming language and a development kit, it’s one hell of an opportunity to live in a time when quantum computing nears a possibility.

Which is a different ball game. The moment you hear about quantum computing, you forget about linear algebra.

A giant leap forward, Quantum Computing is set to alter our economic, industrial, academic, and societal landscape forever. In just hours or days, a quantum computer can solve complex problems that would otherwise take billions of years for classical computing to solve. This has massive implications for research in healthcare, energy, environmental systems, smart materials, and more.

What is inside Microsoft’s quantum development kit?

Microsoft had already announced its plans to release a new programming language for quantum computers at its Ignite Conference this year. That time the company said the launch might come sometime by the end of 2017.

That day has come. And Microsoft is previewing a free version of its Quantum Development Kit.

The kit includes all of the pieces a developer needs to get started including a Q# programming language (yesteryears programmers like me will pronounce it “Q Sharp”) and compiler, a Q# library, a local quantum computing simulator, a quantum trace simulator and a Visual Studio extension. So, basically the preview is aimed at early adopters who want to understand what it takes to develop programs for quantum computers.

Introducing Q#

Microsoft describes Q# as “a domain-specific programming language used for expressing quantum algorithms. It is to be used for writing sub-programs that execute on an adjunct quantum processor, under the control of a classical host program and computer.”

If you remember, there was a statement from Satya Nadella at the Ignite announcement that while developers could use the proposed language on classical computers to try their hand at developing quantum apps, in future, they will be writing programs that actually run on topological quantum computers.

Consider this as the unique selling point of Q#!

“The beauty of it is that this code won’t need to change when we plug it into the quantum hardware,” Krysta Svore, who oversees the software aspects of Microsoft’s quantum work, said.

And just in case you wish to learn how to program a quantum computer using Q# language, you’d find yourself at home if you’re acquainted with Microsoft Visual Studio. Q# is “deeply integrated” with the same.

Besides, Q# has several elements of C#, Python, and F# engrained along with new features specific to quantum computing.

Quantum Simulator

Part of Microsoft’s development kit is quantum simulator that will allow developers to figure out if their algorithms are actually feasible and can run on a quantum computer. It lets programmers test the software on a traditional desktop computer or through its Azure cloud-computing service.

You can simulate a quantum computer of about 30 logical qubits on your laptop (so, you don’t have to rely on some remote server). If you simulate more than 40 logical qubits, you can use an Azure-based simulator.

Remember Microsoft is competing with the likes of Google and IBM to create real-life quantum computers that are more powerful than a handful of qubits. So the simulator allowing developers to test programs and debug code with their own computers is necessary, since there really aren’t any quantum computers for them to test their work on yet. When Microsoft would be able to create a general-purpose quantum computer, the applications created via this kit would be supported.

B y offering the more powerful simulator – one with over 40 logical qubits of computing power – through its Azure cloud, Microsoft is somehow giving a hint that it envisions a future where customers use Azure for both classical and quantum computing.

New tutorials and libraries

In addition to Q# programming language and the simulator, the development kit includes companion collection of documentation, libraries and sample programs. A number of tutorials and libraries are supplied to help developers experiment with the new paradigm.

This may help them get a better foothold on the complex science behind quantum computing, and develop familiarity with aspects of computing that are unique to quantum systems, such as quantum teleportation.

That’s a method of securely sharing information across quantum computing bits, or qubits, that are connected by a quantum state called entanglement. “The hope is that you play with something like teleportation and you get intrigued,” Krysta said.

Microsoft is using a ‘different design’ for its topological quantum computer

Microsoft is still trying to build a working machine. But it is using a very different approach that will make its technology less error-prone and more suitable for commercial use.

The tech pioneer is pursuing a novel design based on controlling an elusive particle called a Majorana fermion, a concept that was almost unheard of.

Engineers have almost succeeded in controlling the Majorana fermion in a way that will enable them to perform calculations, Todd Holmdahl, head of Microsoft’s quantum computing efforts, said, adding that Microsoft will have a quantum computer on the market within five years.

These systems push the boundaries of how atoms and other tiny particles work. While traditional computers process bits of information as 1s or 0s, quantum machines rely on “qubits” that can be a 1 and a zero at the same time. So two qubits can represent four numbers simultaneously, and three qubits can represent eight numbers, and so on. This means quantum computers can perform calculations much faster than standard machines and tackle problems that are way more complex.

Theoretically, a topological quantum computer is designed in a way that will create more stable qubits. This could produce a machine with an error rate from 1,000 to 10,000 times better than computers other companies are building, according to Holmdahl, who led the development of Xbox and the company’s HoloLens goggles.

Researchers have only been able to keep qubits in a quantum state for fractions of a second. When qubits fall out of a quantum state they produce errors in their calculations, which can negate any benefit of using a quantum computer. The lower error rate of Microsoft’s design may mean it can be more useful for tackling real applications – even with a smaller number of qubits – perhaps less than 100.

Interestingly, Krysta said that her team has already proven mathematically that algorithms that use a quantum approach can speed up machine learning applications substantially – enabling them to run as much as 4,000 times faster.

The future is quantum

Make no mistake. The race for quantum computing is already flared up. To an extent that rivals Google and IBM are competing to achieve what they call quantum supremacy.

At the moment, IBM holds the pole position with its 50 qubit prototype (at least for now until Google reveals its cards).

But with Microsoft coming up with its own unique architecture, it’s difficult to underplay Redmond’s big vision. During its Ignite announcement, the company stressed on a “comprehensive full-stack solution” for controlling the quantum computer and writing applications for it. That means it is in no hurry.

“We like to talk about co-development,” Krysta had said. “We are developing those [the hardware and software stack] together so that you’re really feeding back information between the software and the hardware as we learn, and this means that we can really develop a very optimized solution.”

The technology is still undergoing a long research phase, but the prospects are brighter. Brought online, quantum computing could singularly transform unreal things right into the real world use cases. Going from “a billion years on a classical computer to a couple hours on a quantum computer” has taken decades of research. And unlike the Blade Runner, all those moments will not be lost in time like tears in the rain.


Please enter your comment!
Please enter your name here