×

Meet Silq- The First Intuitive High-Level Language for Quantum Computers

Meet Silq- The First Intuitive High-Level Language for Quantum Computers

Jul 29, 2020

Sometime in the 1970s, the computing world hit its first major breakthrough - Dennis Ritchie and Ken Thompson at AT&T Bell Laboratories founded the Holy Grail of C programming. It took another 50 years for programmers to achieve a milestone of similar force - a language that brought a comparable level of simplicity and functions to quantum computing.

Introducing Silq - “A new high-level programming language for quantum computing with a strong static type system”- the first and only one of its kind!

A Look at the 21st Century’s Big Bang

Martin Vechev, associate professor of computer science at ETH Switzerland, says it all began when his team of researchers wanted to “solve a core problem in quantum computing.” Expressing his predicament, he said:

“We looked at various problems in quantum computing but what kept coming up as a fundamental issue is that we looked at the programs and how they are expressed — and you see that this is not ideal, this is not optimal.”

The existing languages, including Microsoft’s Q# and IBM’s Qiskit, were failing to meet the high-level properties criteria required for the project. So while they did not begin with a programming end-result in their minds, necessity paved their way to it.

"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." – Benjamin Bichsel

Before we begin to analyze the programming goldmine Silq, let’s tap on a few basics:

Quantum Computing

Classical computers have been working on a series of zeros and ones. Known as the future of computing, quantum computing works in qubits, which could be ones, zeros, or both.

High-level Languages

Computer languages that detach themselves from the technical details of the distinct type of computer are called high-level programming languages.

Compatible with different computer architectures, these languages are more expressive and they can explain even complex algorithms and tasks with less code. Programmers find these languages easier to understand and use.

Limitations of Current Quantum Programming Languages

James Wootton, a quantum computing researcher at IBM, says the current frameworks of quantum computing are “much like the classical logic circuits that I used to assemble in my shed as a kid, so it is more intuitive than some might assume. But it is certainly not the method that all the quantum programmers of the future will want to use.”

Several others in the fraternity echo these sentiments, including Benjamin Bichsel, Silq co-creator who said: “Existing quantum languages are [really] more low-level than assembly languages in some aspects: They typically describe operations on individual quantum bits, which is more in line with low-level hardware description languages like VHDL or Verilog.”

How Silq Improves Upon These Limitations

Speaking about the existing approaches to quantum computing, Wootton says: “Currently, the main approach to quantum computation is at the machine code level, or by using and adapting tools that others have already built.”

Silq facilitates a C-level abstraction and supports subexpressions, a trait unavailable in existing quantum languages.

Present quantum computing languages are closely linked with the hardware. These languages are error-prone, cumbersome, and need detailed instructions.

Bichsel says that because Silq programs are less concerned about low-level details, analyzing them is easier. It is an excellent option for those who want to create their own quantum algorithms and not depend on the existing frameworks. It bridges the conceptual gap between the classical and quantum languages.

Other Features

According to Bischel, “The key benefit of Silq is that it automatically handles uncomputation of temporary values. Unlike in the classical setting, where we can simply forget about temporary values that are produced during a computation, discarding temporary values in the quantum setting requires explicit operations to remove these values from consideration.”

Aside from this, Silq:

  • Can automatically remove garbage or superfluous values that can result in quantum entanglement*

  • Is more compact, quicker, and more intuitive

  • Has a compiler type-checker that restricts programmers from making common errors

  • Has much shorter programs than those written in Q# and Quipper

  • Incorporates the latest developments in classical languages

  • Needs significantly less code and fewer built-in functions, gates, and annotations, as compared to Q#

“In our case, because we are more high-level, we envision the compilation as a two-step process, where first you express your high-level intent and then it’s the job of the compiler to decide which architecture will this run on and how to optimize for a particular architecture.” – Bischel

Looking at the impact and applicability of the language, we expect many more benefits to emerge in the near future. The future of quantum computing sure looks promising!

Trivia:

  • Silq is written in the D programming language.

  • To install Silq via vscode, see: https://silq.ethz.ch/install.

  • A timeline of major developments in quantum computing:

Follow Us!

Stay Updated On 
Latest Trends in AI Here!

Get Started