Jun 29

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.

Quantum Computing

The Bloch sphere is a representation of a qubit, the fundamental building block of quantum computers.  Copyright © Smite-Meister.  Used under Creative Commons License.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 History

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.

QCL Design

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”;

References

Share and Enjoy:
  • Twitter
  • Facebook
  • Reddit
  • LinkedIn
  • Digg
  • DotNetKicks
  • StumbleUpon
  • Slashdot
  • Technorati
  • Google Bookmarks
  • Print
  • email

Article published on June 29, 2010




4 Responses to “QCL: Obscure Programming Language of the Month”

  1. Tweets that mention QCL: Obscure Programming Language of the Month -- Topsy.com Says:

    […] This post was mentioned on Twitter by TechnologyLover, ComputerGeeker. ComputerGeeker said: QCL: Obscure Programming Language of the Month: This is part 17 in a series of articles on obscure programming lan… http://bit.ly/c0TFFk […]

  2. QCL: Obscure Programming Language of the Month | Programming Blog Imagik.org Says:

    […] the original post: QCL: Obscure Programming Language of the Month No […]

  3. Internet Art – The Art of O » Blog Archive » French defense firm takes control of MicroOLED Says:

    […] QCL: Obscure Programming Language of the Month […]

  4. Johnny Lever Stand-Up Comedy [3 of 5] | laughabilly.com Says:

    […] QCL: Obscure Programming Language of the Month […]

Leave a Reply