Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Foundations of quantum programming
Ying M., Morgan Kaufmann Publishers Inc., San Francisco, CA, 2016. 372 pp. Type: Book (978-0-128023-06-8)
Date Reviewed: Jan 19 2018

The idea of programming in the modern sense first appeared in the textile industry for creating complex patterns on clothes using the Jacquard loom in the early 1800s. Since the development of silicon-based computers in the last century, a lot of progress has been made in thinking about programming abstracts, and a solid milestone was achieved by the famous book (in fact series of books) of Donald Knuth: The art of computer programming. Although Knuth’s book gives a mathematical treatment of programming, it has created many computer scientists and programmers. It will keep on motivating young programmers in the future. However, in the last two decades progress has been made (by many well-known companies such as Google, Microsoft, IBM, and Intel) in developing computers based on quantum physics. If we want to use quantum computers for our daily needs, we need to learn how to program them. Recently, few programming languages have been announced (for example, Microsoft announced Q# (Q-sharp) on December 11, 2017). However, the field of quantum programming (QP) languages is still in its infancy, so we will see many more developments in the near future. It is important for us to understand the mathematical developments and foundational concepts of the field of quantum programming. This book seems to fill that gap.

This book is divided into four parts including a preface, bibliography, index, and acknowledgment. Part 1 covers historical developments and QP approaches in chapter 1 and collects the basics of quantum mechanics, quantum circuits, and quantum algorithms in chapter 2. There are two fundamental approaches to QP: superposition of data and quantum programs with classical control, and superposition of programs and quantum programs with quantum control. Parts 2 and 3 separately focus on each of them. In particular, the syntax and semantics of quantum programs, logic for quantum programs, and analysis of quantum programs are discussed in chapters 3, 4, and 5, in Part 2. Quantum case statements and quantum recursion are discussed in chapters 6 and 7, respectively, in Part 3. Different prospects of QP are discussed in the final chapter 8 of Part 4.

This book can provide a good starting point for a computer science student, but I feel that one complete chapter on a quantum Turing machine, quantum automata, and quantum grammars should be included to complete the book. Such a chapter would allow the reader a better understanding of the material. Although the book touches briefly in chapter 8 on quantum process algebra, a separate treatment would have given it a wider audience. Nevertheless, I strongly recommend it to the new generation of programmers. As a test, I gave the book to my brother (who is in Silicon Valley with 20-plus years of programming experience) and the first reaction was, “I like the book even though it is mathematical.”

Reviewer:  Manish Gupta Review #: CR145793 (1804-0172)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
Physics (J.2 ... )
 
 
Electronics (J.2 ... )
 
 
Reference (A.2 )
 
Would you recommend this review?
yes
no
Other reviews under "Physics": Date
Computational astrophysics
Arnett W. Communications of the ACM 28(4): 354-357, 1985. Type: Article
Sep 1 1985
Computer simulation methods: in theoretical physics
Heermann D., Springer-Verlag New York, Inc., New York, NY, 1986. Type: Book (9780378169660)
Jul 1 1987
Computing in high energy physics
Hertzberger L., Hoogland W. (ed)  Computing in high energy physics,Amsterdam, The Netherlands,1986. Type: Whole Proceedings
Mar 1 1989
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy