Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Log inSign up
Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Blog
Job Board
Q3AS

© 2026 Aqora Quantum S.A.S.

TermsPrivacyLegal Notice

Cambridge University Press eBooks

Programming Languages

Noson S. Yanofsky, Mirco A. Mannucci

Published Aug 11, 2008• 0 citations
Publisher

Abstract

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 Calculation In 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.

DOI
10.1017/cbo9780511813887.009

Related papers

Programming Quantum Computers

Alice Flarend, Robert Hilborn

Abstract Programming a quantum computer can be thought of as having two steps. The first has been the subject of the past several chapters: leveraging number theory, superposition, entanglement, gates, and measurements to develop an algorithm to solve a problem. Classically, computer programmers do not work at the level of gates and there is, of course, no such thing in their world as entanglement or superposition. They work at the second level, writing code to implement the algorithm. There are several universal languages available for classical programming. This chapter provides resources for programming quantum computers using these standard languages.

•Jul 9, 2026•0 citations

QuaFL

Andrei Lapets, Marcus Palmer Da Silva, Mike Thome +3 more

Quantum computers represent a novel kind of programmable hardware with properties and restrictions that are distinct from those of classical computers. We investigate how some existing abstractions and programming language features developed within the programming languages community can be adapted to expose the unique capabilities of quantum computers to programmers while at the same time allowing them to manage the new and unfamiliar constraints of programming a quantum device.

•Sep 17, 2013•17 citations

QCOR

Tiffany M. Mintz, Alexander McCaskey, Eugene Dumitrescu +3 more

Quantum computing (QC) is an emerging computational paradigm that leverages the laws of quantum mechanics to perform elementary logic operations. Existing programming models for QC were designed with fault-tolerant hardware in mind, envisioning stand-alone applications. However, the susceptibility of near-term quantum computers to noise limits their stand-alone utility. To better leverage limited computational strengths of noisy quantum devices, hybrid algorithms have been suggested whereby quantum computers are used in tandem with their classical counterparts in a heterogeneous fashion. This modus operandi calls out for a programming model and a high-level programming language that natively and seamlessly supports heterogeneous quantum-classical hardware architectures in a single-source-code paradigm. Motivated by the lack of such a model, we introduce a language extension specification, called QCOR , which enables single-source quantum-classical programming. Programs written using the QCOR library–based language extensions can be compiled to produce functional hybrid binary executables. After defining QCOR’s programming model, memory model, and execution model, we discuss how QCOR enables variational, iterative, and feed-forward QC. QCOR approaches quantum-classical computation in a hardware-agnostic heterogeneous fashion and strives to build on best practices of high-performance computing. The high level of abstraction in the language extension is intended to accelerate the adoption of QC by researchers familiar with classical high-performance computing.

ACM Journal on Emerging Technologies in Computing Systems•Mar 18, 2020•42 citations

Quantum Computing. (II.Quantum Computer Languages)

I. Bolesta, Олексій Кушнір, Serhiy Velhosh +1 more

The programming languages that can be used to write the program code when using quantum computers are reviewed.The prospects of using such languages from the point of view of integrating them into software complexes that are convenient for the developer are discussed.

•Jan 1, 2018•0 citations

Quantum computing : problems and exercises

Santiago Torres, P. Bruna, Pietro Massignan

Quantum technology is one of the most promising and challenging fields in contemporary science. Quantum computing, quantum cryptography, and more generally quantum information technologies claim that they, in the short term, will change our paradigm of classical computing and communications. Concepts such as duality, superposition, entanglement, teleportation and many others seem to be closer to magic or science fiction than to everyday human experience. However, herein lies also the unlimited power of human thought, which mathematics and physics help us to go beyond our immediate experience of the world. This book, oriented toward undergraduate students pursuing Bachelor’s Degrees in Engineering, draws on the experience of the authors during nearly ten years of work in this field. The book consists of a comprehensive list of exercises with increasing degrees of dificulty. Additional material such as solved problems and a basic compilation of theory is also included in each chapter. The list of topics, which include among others, quantum computing, quantum teleportation, superdense coding, quantum processors or quantum communication protocols, intended for opening doors that will motivate students to continue delving into the field of quantum technologies, which has only just begun to be explored.

Iniciativa Digital Politècnica. Oficina de Publicacions Acadèmiques Digitals de la UPC eBooks•Jul 1, 2020•0 citations

Quantum Computer:5. Quantum Programming Languages

Ichiro Hasuo A, Naohiko Hoshino

情報処理•Jun 15, 2014•0 citations
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 Calculation In 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.
Abstract Programming a quantum computer can be thought of as having two steps. The first has been the subject of the past several chapters: leveraging number theory, superposition, entanglement, gates, and measurements to develop an algorithm to solve a problem. Classically, computer programmers do not work at the level of gates and there is, of course, no such thing in their world as entanglement or superposition. They work at the second level, writing code to implement the algorithm. There are several universal languages available for classical programming. This chapter provides resources for programming quantum computers using these standard languages.
Quantum computing (QC) is an emerging computational paradigm that leverages the laws of quantum mechanics to perform elementary logic operations. Existing programming models for QC were designed with fault-tolerant hardware in mind, envisioning stand-alone applications. However, the susceptibility of near-term quantum computers to noise limits their stand-alone utility. To better leverage limited computational strengths of noisy quantum devices, hybrid algorithms have been suggested whereby quantum computers are used in tandem with their classical counterparts in a heterogeneous fashion. This modus operandi calls out for a programming model and a high-level programming language that natively and seamlessly supports heterogeneous quantum-classical hardware architectures in a single-source-code paradigm. Motivated by the lack of such a model, we introduce a language extension specification, called QCOR , which enables single-source quantum-classical programming. Programs written using the QCOR library–based language extensions can be compiled to produce functional hybrid binary executables. After defining QCOR’s programming model, memory model, and execution model, we discuss how QCOR enables variational, iterative, and feed-forward QC. QCOR approaches quantum-classical computation in a hardware-agnostic heterogeneous fashion and strives to build on best practices of high-performance computing. The high level of abstraction in the language extension is intended to accelerate the adoption of QC by researchers familiar with classical high-performance computing.
Quantum technology is one of the most promising and challenging fields in contemporary science. Quantum computing, quantum cryptography, and more generally quantum information technologies claim that they, in the short term, will change our paradigm of classical computing and communications. Concepts such as duality, superposition, entanglement, teleportation and many others seem to be closer to magic or science fiction than to everyday human experience. However, herein lies also the unlimited power of human thought, which mathematics and physics help us to go beyond our immediate experience of the world. This book, oriented toward undergraduate students pursuing Bachelor’s Degrees in Engineering, draws on the experience of the authors during nearly ten years of work in this field. The book consists of a comprehensive list of exercises with increasing degrees of dificulty. Additional material such as solved problems and a basic compilation of theory is also included in each chapter. The list of topics, which include among others, quantum computing, quantum teleportation, superdense coding, quantum processors or quantum communication protocols, intended for opening doors that will motivate students to continue delving into the field of quantum technologies, which has only just begun to be explored.