This is part 17 in a series of articles on obscure programming languages.
What is QCL?
QCL (Quantum Computer Language) is one of the first quantum programming languages. QCL is a high-level, architecture-independent programming language for quantum computers. Its syntax and data types are similar to those in the C programming language. Programmers can combine classical C code and quantum code into a single source code base.
A quantum computer is a computational device that takes advantage of quantum mechanics phenomena — such as superposition and entanglement — to solve problems significantly faster than traditional computers. For example, superposition means that particles exist not in a single state but in all possible states at once. So a quantum computer may be able to compute all states of a given problem simultaneously, and therefore operate much faster than a traditional computer, which can work on only one state at a time per processor. Hence, a quantum computer can act like a massively-parallel-processor computer.
Although quantum computing is still in its infancy, scientists have performed experiments on a small number of quantum bits (qubits). Many government and military agencies are researching quantum computing for both civilian and military purposes, such as cryptanalysis.
QCL was invented by Bernhard Ömer as part of his PhD on structured quantum programming in 2003 at the Technical University of Vienna. The current version of QCL is 0.6.3 and was released in 2006.
According to Ömer, although quantum computing (QC) shares many concepts with classical computer science, it’s still widely considered a special discipline within theoretical physics. One key reason that the computer science community has been slow to adopt QC is the confusing variety of formalisms (Dirac notation, matrices, gates, operators, etc.), none of which has any similarity in classical programming languages.
QCL fills this gap by providing a high-level, architecture-independent programming language for quantum computers, with a syntax derived from classical procedural languages like C and Pascal. This enables physicists and programmers to implement and simulate quantum algorithms in a traditional computer science manner.
In QCL the basic quantum data type is the qureg (quantum register). It can be interpreted as an array of qubits (quantum bits). Other data types include quvoid, quconst, quscratch, and qucond. The QCL standard library provides many standard quantum operators used in quantum algorithms.
The most important feature of QCL is support for user-defined qufuncts, operators and procedures. Similar to modern programming languages, QCL enables you to define new operations that can manipulate quantum data.
“Hello, World” in QCL
print “Hello, World”;
- QCL Homepage
- Quantum Programming in QCL
- Classical Concepts in Quantum Programming
- QCL on Wikipedia
- QCL on Quantiki
Article published on June 29, 2010
|If you like this article, please share it:|