Quantum Software Development Is Still In Its Infancy
(Forbes) Quantum computing will be stalled without significant progress in software, writes Dr. Yehuda Naveh, the Co-founder and CTO of Classiq. Before Classiq, he focused on CAD technologies and quantum computing at IBM Research.
Today, however, quantum software development is in its infancy. Quantum programming languages like Q# from Microsoft, Qiskit from IBM or Cirq from Google primarily operate at the gate or building-block level. If a required building block is not yet implemented, the user needs to specify the exact sequence of interconnections between qubits and quantum gates.
The complexity in writing quantum software has another unfortunate side effect: It is difficult to find quantum software engineers. Because quantum programming is unlike classical programming, quantum software engineers are a rare breed. They need to be experts in quantum information theory and have a working understanding of quantum physics as well as a mastery of linear algebra. Furthermore, quantum software engineers lack domain expertise in option pricing, molecular biology, supply-chain optimization or whatever problem the teams set out to solve. The need to define new algorithms at the gate level makes it very difficult to integrate domain-specific experts into quantum teams.
Dr, Naveh believes that we will start to see a VHDL-like approach applied to quantum computing. While the language constructs for quantum might be significantly different from those of electronic design, the concept for this “quantum algorithm design” is the same — focus on the intent and let a sophisticated computer program translate it into qubits and gates.
To be prepared for the quantum revolution and these new software platforms, Naveh suggests that companies:
• Introduce their domain-specific experts to the concepts of quantum computing but without necessarily requiring them to learn low-level programming.
• Avoid jumping headlong into qubits and gates. First, create a high-level human-readable description of what your quantum algorithm needs to do.
• Continue to scout the market for platforms that can turn high-level modeling languages into optimized low-level quantum code.