Book contents
- Frontmatter
- Contents
- Preface
- Introduction
- 1 Complex Numbers
- 2 Complex Vector Spaces
- 3 The Leap from Classical to Quantum
- 4 Basic Quantum Theory
- 5 Architecture
- 6 Algorithms
- 7 Programming Languages
- 8 Theoretical Computer Science
- 9 Cryptography
- 10 Information Theory
- 11 Hardware
- Appendix A Historical Bibliography of Quantum Computing
- Appendix B Answers to Selected Exercises
- Appendix C Quantum Computing Experiments with MATLAB
- Appendix D Keeping Abreast of Quantum News: Quantum Computing on the Web and in the Literature
- Appendix E Selected Topics for Student Presentations
- Bibliography
- Index
7 - Programming Languages
Published online by Cambridge University Press: 05 June 2012
- Frontmatter
- Contents
- Preface
- Introduction
- 1 Complex Numbers
- 2 Complex Vector Spaces
- 3 The Leap from Classical to Quantum
- 4 Basic Quantum Theory
- 5 Architecture
- 6 Algorithms
- 7 Programming Languages
- 8 Theoretical Computer Science
- 9 Cryptography
- 10 Information Theory
- 11 Hardware
- Appendix A Historical Bibliography of Quantum Computing
- Appendix B Answers to Selected Exercises
- Appendix C Quantum Computing Experiments with MATLAB
- Appendix D Keeping Abreast of Quantum News: Quantum Computing on the Web and in the Literature
- Appendix E Selected Topics for Student Presentations
- Bibliography
- Index
Summary
The computer programmer is a creator of universes for which he alone is the lawgiver … universes of virtually unlimited complexity can be created in the form of computer programs. … They compliantly obey their laws and vividly exhibit their obedient behavior. No playwright, no stage director, no emperor, however powerful, has ever exercised such absolute authority to arrange a stage or a field of battle and to command such unswervingly dutiful actors or troops.
J. Weizmann, Computer Power and Human Reason: From Judgement to CalculationIn this chapter we are going to describe quantum programming, i.e., the art and science of programming a quantum computer. In Section 7.1, we briefly sketch what it means to program a quantum computing device. Section 7.2 covers a simple version of quantum assembler, based on the so-called QRAM architecture. Section 7.3 describes possible steps leading to higher-level programming languages and constructs. We conclude this chapter with Section 7.4, a short discussion on quantum emulators.
PROGRAMMING IN A QUANTUM WORLD
As you are about to read this chapter, you have undoubtedly been exposed to computer programming in a variety of flavors, and are perhaps already an accomplished programmer of real-life applications. Programming a classical machine carries an immediate, unambiguous sense. However, we are going to leave the familiar world of binary chips, and learn how to program some as yet unspecified quantum hardware.
- Type
- Chapter
- Information
- Quantum Computing for Computer Scientists , pp. 220 - 238Publisher: Cambridge University PressPrint publication year: 2008