Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Programming the quantum future
Valiron B., Ross N., Selinger P., Alexander D., Smith J.  Communications of the ACM 58 (8): 52-61, 2015. Type: Article
Date Reviewed: Nov 17 2015

In a digital computer, the basic unit of information is the bit, or binary digit. A bit can only take one of two values: zero or one. On the other hand, in a quantum computer, the basic unit of information is the quantum bit, or qubit. And unlike the classical bit, the value of a qubit can simultaneously be zero and one with a certain probability associated with each value, a phenomenon known as a superposition of states. Although in theory, a quantum computer will not be able to solve problems that cannot be solved in a digital computer, the characteristics of quantum systems, such as overlapping states and action at a distance, promise that quantum computers, when they get built, will be much faster than digital computers.

In addition to the hardware challenges of building a quantum computer, from a software point of view the design of the programming languages that will be used on these computers is an open question; this is the problem approached here. The article begins by describing a hypothetical quantum architecture in which a quantum computer functions as a coprocessor controlled by a classical computer (that is, a traditional digital computer). Then, the authors present the main techniques employed to describe quantum algorithms and the basic requirements of quantum programming languages. Finally, there is a brief overview of other quantum languages. Then Quipper, a functional programming language for quantum computing, is presented. Quipper is a deeply embedded domain-specific language (EDSL) inside the host language Haskell; among the main features of the language are its hardware independence and its extensible data types. The authors describe their experiences using Quipper, claiming they have been able to implement seven quantum algorithms. Finally, they show as an example two subroutines written in Quipper.

In conclusion, thanks to the authors’ approachable writing, this article makes entertaining and instructive reading for those interested in the subject of quantum computing.

Reviewer:  Hector Antonio Villa-Martinez Review #: CR143959 (1601-0050)
Bookmark and Share
  Reviewer Selected
 
 
Types And Design Styles (B.7.1 )
 
 
General (C.1.0 )
 
 
General (D.3.0 )
 
 
General (J.0 )
 
 
General (B.8.0 )
 
 
Language Classifications (D.3.2 )
 
  more  
Would you recommend this review?
yes
no
Other reviews under "Types And Design Styles": Date
Enabling the Internet of Things: from integrated circuits to integrated systems
Alioto M.,  Springer International Publishing, New York, NY, 2017. 520 pp. Type: Book (978-3-319514-80-2)
Aug 9 2017
Bio/CMOS interfaces and co-design
Carrara S.,  Springer Publishing Company, Incorporated, New York, NY, 2013. 272 pp. Type: Book (978-1-461446-89-7)
Sep 25 2013
Quantum computing devices (Applied Mathematics and Nonlinear Science Series)
Chen G., Church D., Englert B., Henkel C., Rohwedder B., Scully M., Zubairy M.,  Chapman & Hall/CRC, 2006. 542 pp. Type: Book (9781584886815)
May 31 2007
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright © 2000-2018 ThinkLoud, Inc.
Terms of Use
| Privacy Policy