
October 17, 2024
Quantum computers, which promise to revolutionize everything from chemistry to cancer research, aren’t quite ready for the mainstream yet – but that hasn’t prevented the emergence of a new breed of quantum software developers.
“Writing a program for a quantum computer used to mean getting a PhD,” says Lov Grover. He would know – his Grover’s algorithm, created in 1996 for searching a database with a quantum computer, was one of the first pieces of quantum software. At that time, there were no quantum computers that could actually run it, and the work that he and other pioneers were doing was much more akin to pure mathematics.
“You could say that the hardest part of quantum computing is understanding the mathematics,” says Marco Armenta at the University of Sherbrooke in Canada. But quantum software development is literally now a day job for a growing band of people like him, and he doesn’t think of his profession as particularly esoteric or unapproachable.
This shift is largely due to the rise of actual quantum hardware over the course of the past decade. Blake Johnson, who works on quantum software development at IBM, says that as a graduate student 13 years ago, he studied systems using a single quantum bit, or qubit, the basic building block of a quantum computer. Now, IBM’s largest quantum computer has over 1000 qubits.
Simply scaling up the hardware isn’t enough, however. Qubits can hold and process a lot more information at once than conventional bits, thanks to their quantum properties. This is why researchers have long thought that quantum computers will eventually surpass even the world’s most powerful supercomputers. But their quantumness also makes them difficult to use, requiring specialised and fiddly hardware with unusual programming requirements that can scare off conventional coders.
“If we keep moving forward on hardware, but don’t do enough with software, quantum computers will just become paperweights,” says Jay Gambetta at IBM. “We can’t expect some genius chemist or computer scientist to come [to us] with their own algorithms.”
To address this, IBM has launched a software platform that aims to make programming these machines much easier and encourage people who aren’t quantum physics specialists to use them. “It has been a dream to get to this level of abstraction for years,” says Johnson.
He and his colleagues believe that abstracting away the quantumness will be key to making the quantum software industry viable because a similar process occurred with conventional computing. The first computer programmers also had to be experts in hardware, combining basic logical operations like addition or negation to build more complex functions.
Until recently, the back-to-basics expert approach was the only way people could work with IBM’s quantum computers, but now the firm has updated its Qiskit software development platform to offer several preset functions that remove the need for quantum computing mastery. These are essentially pre-written bits of software for carrying out chemistry calculations or optimisation problems, both of which are areas where such computers are expected to bring notable advantages.
Ideally, users will now be able to forget about some of the nitty-gritty of controlling qubits and use the functions as they would when programming any other computer, says Sabrina Maniscalco at Algorithmiq, which is developing quantum computing programs for life sciences and worked on the new platform with IBM. “In a year, I would like to see a thousand new applications by people who don’t have PhDs in quantum [physics],” she says.
Johnson hopes that this will usher in an era when experts will discover new and useful quantum algorithms through experimentation rather than waiting for someone to rigorously develop them through mathematical pen-and-paper work, as had to be done in Grover’s time.
This is a promising start, but there is a long way to go before quantum software developers can completely ignore the hardware they are working with, says Guglielmo Mazzola at the University of Zurich in Switzerland. “I really appreciate this type of work, but it may still be early to define the state of quantum software development as mature.”
Armenta, however, says that many traditional software developers are now in a good position to make a quantum leap. And he is actively involved in training aspiring quantum coders how to do what he does, something that he says there is a growing interest in. “50 per cent of my job now is training,” he says.
A quantum shortcut
While many people are working to encourage new quantum software developers, others are hoping to do away with them all together. Joe Fitzsimons at Horizon Quantum Computing and his colleagues are working on a tool designed to take any classical algorithm and spit out a faster, quantum version.
The hope is that anyone will be able to make use of quantum computers, without needing specialist knowledge, says Fitzsimons. “We’re trying to make it as easy as possible for them to take advantage of quantum computing.”
Horizon’s platform, which is called Triple Alpha and not yet broadly available, deconstructs algorithms to a small number of basic logical structures, converts those to their quantum versions, then rebuilds the algorithm in its quantum form from there – essentially automating the back-to-basics approach.
Fitzsimons says that this may not work for every single classical algorithm, but he also thinks that quantum computing experts have been too conservative and selective in their search for algorithms and programs that would benefit from being run on a quantum computer. With enough work on algorithms, such machines could become not a device with niche uses, but just better computers, he says.