Quantum computers get their first intuitive programming language – Innovation Toronto
This is where Vechev and his group come in with their development of Silq. “Silq is the first quantum programming language that is not designed primarily around the construction and functionality of the hardware, but on the mindset of the programmers when they want to solve a problem – without requiring them to understand every detail of the computer architecture and implementation,” says Benjamin Bichsel, a doctoral student in Vechev’s group who is supervising the development of Silq.
Computer scientists refer to computer languages that abstract from the technical details of the specific type of computer as high-?level programming languages. Silq is the very first high-?level programming language for quantum computers. High-?level programming languages are more expressive, meaning that they can describe even complex tasks and algorithms with less code. This makes them more comprehensible and easier to use for programmers. They can also be used with different computer architectures.
Eliminating errors through automatic uncomputation
The greatest innovation and simplification that Silq brings to quantum programming languages concerns a source of errors that has plagued quantum programming until now. A computer calculates a task in several intermediate steps, which creates intermediate results or temporary values.
In order to relieve the memory, classical computers automatically erase these values. Computer scientists refer to this as “garbage collection”, since the superfluous temporary values are disposed of.
In the case of quantum computers, this disposal is trickier due to quantum entanglement: the previously calculated values can interact with the current ones, interfering with the correct calculation. Accordingly, cleaning up such temporary values on quantum computers requires a more advanced technique of so-?called uncomputation.
“Silq is the first programming language that automatically identifies and erases values that are no longer needed,” explains Bichsel. The computer scientists achieved this by applying their knowledge of classical programming languages: their automatic uncomputation method uses only programming commands that are free of any special quantum operations – they are “qfree”, as Vechev and Bichsel say.
“Silq is a major breakthrough in terms of optimising the programming of quantum computers; it is not the final phase of development,” says Vechev. There are still many open questions, but because Silq is easier to understand, Vechev and Bichsel hope to stimulate both the further development of quantum programming languages and the theory and development of new quantum algorithms.
“Our team of four has made the breakthrough after two years of work thanks to the combination of different expertise in language design, quantum physics and implementation. If other research and development teams embrace our innovations, it will be a great success,” says Bichsel.