Skip to Content

Quantum Computers Barely Exist—Here’s Why We’re Writing Languages for Them Anyway

There may soon be more quantum programming languages than there are quantum computers.
December 22, 2017
IBM Research | Flickr

Quantum computers are still extremely rudimentary, and largely remain intriguing playthings in a few advanced research labs. That hasn’t deterred people from developing new programming languages for them.

The most recent one comes from Microsoft, which has unveiled Q# (pronounced Q sharp) and some associated tools to help developers use it to create software. It joins a growing list of other high-level quantum programming languages such as QCL and Quipper.

But given that practically nobody has a quantum computer, what’s the point?

Krysta Svore, principal research manager in quantum computing at Microsoft, says the languages are needed because the ones written for today’s computers won’t work for quantum ones. Classical computers encode information in binary form as a sequence of ones and zeros, whereas quantum computers use quantum bits—or “qubits”—which can effectively encode one and zero at the same time.

This creates vast amounts of parallel processing power, and explains why there’s such great interest in efforts to build the machines. The hope is that quantum computers will help drive significant advances in fields ranging from materials science to artificial intelligence (see “A Startup Uses Computing to Boost Machine Learning”).

But to fully exploit that power or even explore what’s possible, developers will need quantum languages to help them create software that takes full advantage of the computers’ capabilities.

Programming languages for classical computers are designed in a way that doesn’t require developers to know how a central processing unit works. The push now is to create high-level quantum programming languages that also shield developers from the complexities of quantum hardware. 

The quirks of quantum computing create limitations that don’t exist in classical programming languages. One example: quantum programs can’t have loops in them that repeat a sequence of instructions; they have to run straight through to completion. 

To deal with such issues, Q# works in conjunction with a couple of classical languages. Developers without quantum expertise can write their main programs in familiar languages and then use a Q# program when they want to engage quantum processing power.

Although it doesn’t have a quantum computer of its own yet, Microsoft has released simulators that let developers test programs developed in Q# on desktop computers or on its Azure cloud-computing service. IBM is also offering simulators, and a few lucky developers can even run their code directly on its quantum machine.

Xiaodi Wu, a quantum programming language expert at the University of Maryland, sees new high-level quantum languages as a logical next step. “This will open the door to more people using these machines,” he says, “which could lead to new fields of inquiry for the quantum research community.”

There have been some calls to make new quantum languages open source so that the broader developer community can offer input. The idea is that this might give quantum computing the same kind of boost that the development of Linux gave to the Internet.

Language developers also have another target: students thinking about future careers. New languages that make quantum computing more accessible should entice more people into the field. “We want to develop the quantum workforce,” says Svore, “because quantum computing will unlock a whole new economy, and we’re going to need people who are quantum programmers, algorithm developers, and engineers.”

Keep Reading

Most Popular

What is AI?

Everyone thinks they know but no one can agree. And that’s a problem.

What are AI agents? 

The next big thing is AI tools that can do more complex tasks. Here’s how they will work.

What’s next for bird flu vaccines

If we want our vaccine production process to be more robust and faster, we’ll have to stop relying on chicken eggs.

How to fix a Windows PC affected by the global outage

There is a known workaround for the blue screen CrowdStrike error that many Windows computers are currently experiencing. Here’s how to do it.

Stay connected

Illustration by Rose Wong

Get the latest updates from
MIT Technology Review

Discover special offers, top stories, upcoming events, and more.

Thank you for submitting your email!

Explore more newsletters

It looks like something went wrong.

We’re having trouble saving your preferences. Try refreshing this page and updating them one more time. If you continue to get this message, reach out to us at with a list of newsletters you’d like to receive.