# Controlling a Quantum Computer with Code

11 May 2018

In 1982, Richard Feynman speculated that some of the strange properties found in quantum mechanics could be useful for performing computation — and even outperform classical computers. By 1994, Peter Shor had invented an algorithm for separating numbers into their prime factors better than any classical computer could. But the question remained: was it possible to build a quantum computer?

Today we know that it is indeed possible. Quantum computers have arrived, moving from the realm of academia into the realm of engineering. Building Rigetti’s quantum computer is a multidisciplinary effort, combining expertise in such areas as electrical engineering, mathematics, and physics.

But programming a quantum computer is different than programming a classical one, and software engineers make equally significant contributions to building a full-stack quantum solution. In a recent talk, Rigetti software engineer Steven Heidel explains in simple terms all the new and innovative software engineering involved in making quantum computers work.

*Originally published at **rigetticomputing.github.io** on May 11, 2018.*