Photo by Markus Spiske on Unsplash
What is Silq
Silq claims to be a new high-level programming language for quantum computing. In comparison to existing ways of programming quantum machines, Silq is a next step in a more abstract direction.
The language is aimed at making quantum programming more intuitive by moving away from the circuit model that we are really used to and by providing a bunch of built-in features to help quantum software developers avoid typical pitfalls such as nasty uncomputation related bugs.
Here a first hand example of how nasty these bugs can be!
What’s up with Qiskit, Cirq & Co. ?
The main difference between Silq and other existing quantum programming libraries out there is that it tries to move away from the notion of a quantum circuit (Q# being an exception here).
This is a hard thing to do and it is even harder for the programmer who now needs to face a language where integer variables can be in superposition and where conditional statements have superpowers when used in conjunction with such variables. It does take a while the get used to the nature of such paradigm.
Libraries such us Qiskit or Cirq are designed around the concept of building quantum circuits and offer more of a science kit than an actual programming language.
How Could a Real Quantum Programming Language Look Like?
I think this is a really interesting and important area of research. I have explored the idea of a hypothetical more abstract programming language in the past. The idea was to focus on waves and interference and how to write a program just by levering these two concepts.
This is how Grover’s algorithm could be written in just 4 lines of this fantasy wave programming language. Do not take this too seriously 😉 Playing with crazy ideas is important though!