The world is about to have its first quantum computers. The complexity and power of quantum hardware, such as ion traps and superconducting qubits, are scaling up. Investment is flooding in: from governments, through the billion-dollar European Quantum Technology Flagship Program, for example; from companies, including Google, IBM, Intel and Microsoft; and from venture-capital firms, which have funded start-ups. One such is ours, Rigetti Computing, which in June opened the first dedicated facility for making quantum integrated circuits: Fab-1 in Fremont, California. The vision is that commercial quantum- computing services will one day solve problems that used to be unimaginably hard, in areas from molecular design and machine learning to cybersecurity and logistics.1
The problem is how best to program these devices. The stakes are high — get this wrong and we will have experiments that nobody can use instead of technology that can change the world.
We outline three developments that are needed over the next five years to ensure that the first quantum computers can be programmed to perform useful tasks. First, developers must think in terms of 'hybrid' approaches that combine classical and quantum processors. For example, atRigetti we have developed an interface called Quil2, which includes a set of basic instructions for managing quantum gates and classical processors and for reading and writing to and from shared memory. Second, researchers and engineers must build and use open-source software for quantum-computing applications. Third, scientists need to establish a quantum-programming community to nurture an ecosystem of software. This community must be interdisciplinary, inclusive and focused on applications.