At QZ we always get excited when we see a new framework or programming language. A team of researchers at have created a new high level language which aims to make programming quantum computers more intuitive resulting in more efficient gate usage – well that that is the aim of Silq, which also offers a strong static type system, developed at ETH Zürich.
The new language uses a slightly different approach to the languages you might be familiar with such as qiskit or cirq or Q# which operate on gates explicitly. For example, operations are applied to individual gates in Q# but Silq allows the quantum programmer to focus on the results and computation rather then some of the house-keeping issues with other languages.
The aims of silq are:
- More intuitive semantics
- Reduce & simplify code (less lines means easier maintenance)
- Prevent errors
- Safe automatic un-computation
- Physicality (ensuring operations are legitimate)
You can check out the project on the website and explore the syntax. The challenges of a new language will be numerous and the fact tha major technology companies such as IBM, Google and Microsoft are behind the open source languages such as Qiskit, Cirq and Q# respectively and already have their followers, toolkits and research base. Another further challenge floated will be fact that it is very early on in the development of Quantum Computing languages without a huge number of applications and many float it is simply too early to start thinking about higher level languages.
Despite some of the potential drawbacks, language evolution is always important, where new language borrow and transform existing ideas and blends. Reminds up of the LISP language and python. The latter language python has blended so much of the better aspects of other languages into one, now very popular high level language. But perhaps unlike quantum computing, certain data structures such as Lists and Dictionaries are well defined.
Learning the fundamentals of quantum computing will still remain key, but perhaps as QC becomes more mature, certain operations may become mainstream and then the higher level features become very useful. We’ll leave it to the community to see how the new language is used.