Microsoft’s New Programming Language for Quantum Computers

I have no physicist education whatsoever. That kind of science was not even on my radar during my high school and college years. My level of understanding only extends to watching a handful of YouTube videos on the topic. However, over the last year, I’ve become increasingly interested in Quantum Physics. Or more specifically, Quantum Mechanics (check out this video which covers the basics and should give you a good foundation for understanding the principles of Quantum Mechanics).

Many of us know how today’s computers work with bits of information that exist in one of two states, 0 or 1. However, Quantum Computers aren’t limited to two states; they use quantum bits or qubits, which can be in a superposition. A superposition is 0 and 1 and any points in between, all at the same time. Since a quantum computer can take advantage of these multiple states simultaneously, it has the capability of performing many operations at the same time. According to David Deutsch, “…this parallelism allows a quantum computer to work on a million computations at once, while your desktop PC works on one.” Quantum computers are measured to run in teraflops (trillions of floating-point operations per second) while desktop computers run in gigaflops (billions of floating-point operations per second).

One of the unusual and challenging things about working with subatomic particles in a superposition is those particles will remain in that superposition until they are observed. Once the particle is observed, it will assume a given value, thereby losing all other values based on its superposition. Scientists have been able to indirectly read the value of a particle without the particle ‘knowing’ it’s being observed. This is possible by what is called entanglement. When two particles become entangled, the second particle will assume the properties of the first particle, but with the opposite value. The value of a particle can be observed by reading the entangled particle.

Microsoft has released a new programming language for Quantum Computers called Q#.  It’s available for free with their Microsoft Quantum Development Kit. Included in the Kit is a simulator that can be used to test Q# programs. Much of this is just the beginning and research is still ongoing. It is possible that one day quantum computers will replace silicon chips, but that shouldn’t stop us from considering how quantum computing will affect us in the future and what we can do now to prepare for its arrival.

Check out the Microsoft Quantum Development Kit video and share your thoughts or questions with me in the comments below!


Brett Kreykes, Interstates Senior MIT Analyst