When MIT professor and Computer Science and Artificial Intelligence Laboratory (CSAIL) member Peter Shor first showed how quantum computers could solve problems faster than classical ones, he inspired scientists to explore many possibilities for this new technology. However, thirty years later, the full potential of quantum computing has yet to be realized.
Unfortunately, quantum computing technology is not fully developed yet. A major challenge is turning quantum algorithms from abstract mathematical ideas into actual code that can run on a quantum computer. While programmers for regular computers have many languages like Python and C++ that fit well with classical computing concepts, quantum programmers don't have this advantage. There are only a few quantum programming languages available, and they are harder to use because quantum computing concepts are still evolving. In their recent work, MIT researchers point out that this gap exists because quantum computers don't follow the same rules for completing each step of a program in order—an essential process for all computers called control flow. They propose a new abstract model for a quantum computer that could be easier to program.
In a paper soon to be presented at the ACM Conference on Object-oriented Programming, Systems, Languages, and Applications, the group introduces a new conceptual model for a quantum computer, called a quantum control machine. This model could help make programming quantum computers as straightforward as programming regular classical computers. Achieving this would enhance tasks that regular computers struggle to perform efficiently, such as factoring large numbers, retrieving information from databases, and simulating molecular interactions for drug discovery.
“Our work outlines the principles that dictate how to correctly program a quantum computer,” says lead author and CSAIL PhD student Charles Yuan SM ’22. “One of these principles shows that if you try to program a quantum computer using the same basic instructions as a regular classical computer, you’ll end up turning that quantum computer into a classical one, losing its performance advantage. These principles explain why designing quantum programming languages is challenging and guide us toward improving them.”