1 Quantum computing: the hype and the promise
Quantum computing is presented as a fundamentally different computing paradigm from the classical machines that power today’s world, and this chapter sets expectations for learning it without heavy physics, emphasizing math, problem-solving, and programming. It outlines who the book is for—readers already comfortable with core quantum concepts and basic linear algebra—and frames the field through three mutually reinforcing pillars: algorithms, hardware, and software. Throughout, the chapter encourages an approachable, hands-on path to mastery, positioning quantum programming as the bridge between formal ideas and practical capability.
The chapter separates hype from reality: quantum computers will not replace classical ones, and only certain problem families are likely to benefit. Practical quantum advantage requires that classical methods are prohibitively slow, quantum solutions are fast enough in practice, and the task is genuinely useful. The most promising targets tend to be small-input, big-compute problems with exploitable structure—such as quantum simulations in chemistry and materials science—and algorithms must deliver substantial asymptotic gains to overcome real-world overheads. The discussion highlights how theoretical speedups (for example, Grover’s quadratic improvement) may not translate to useful wins once implementation details and slower quantum primitives are accounted for, whereas structure-exploiting algorithms like Shor’s showcase the kind of breakthroughs that motivate the field.
A concise tour of “how it works” follows: hardware is currently in the noisy intermediate-scale era, progressing through milestones from proof-of-concept demonstrations toward fault tolerance via error correction, scalability, and ultimately solving practical problems beyond classical reach. Software forms the connective tissue across layers—from high-level languages and libraries, through compilers, optimizers, error-correction and mapping, to device control—with simulators enabling design, testing, and resource estimation before running on real devices. The developer workflow mirrors classical practice but adapts to quantum realities: build (often hybrid) algorithms, validate with simulators, estimate resources, then execute on hardware. The chapter closes by noting the rapid growth of investment, education, and tooling, and by introducing the book’s learn-by-doing approach using Qiskit and Q# to implement end-to-end, testable projects that cultivate the core skills of quantum programming.
Quantum advantage might be achievable if the time a quantum computer takes to solve a certain problem grows at a slower rate as the problem size increases than the time a classical computer takes to do the same. In this case, problem instances that are much larger than the crossover size might be good candidates for quantum solutions. If the crossover time is months or more, quantum computing offers no practical advantage, since larger problem instances take much longer to solve, and running a quantum computer for months or years to solve a single problem is not practical.
The major milestones of quantum hardware development. The first two, showing the use of quantum mechanics to perform a computation and having a quantum computer solve an artificial problem that a classical computer can not, have already been achieved. The next milestone, building a fault-tolerant quantum computer that can run long computations, is the current focus. The final goal is to build a quantum computer that can solve practical problems that a classical computer can not.
A quantum software stack serves as an interface between the quantum algorithms and the hardware running them. Its components mirror those of the classical software stack.
Quantum application software development workflow. From the developer perspective, it is similar to the classical software development workflow, with some differences to account for the nature of quantum computing. For example, using quantum simulators instead of the hardware makes testing quantum code on small problems faster and easier because it eliminates the need to account for noise.
Summary
- Quantum computing will not speed up arbitrary classical computing tasks. Instead, it will let us solve some highly specialized problems such as quantum systems simulations that are too complicated for classical (super)computers.
- To yield practical advantage over the best classical algorithms for the same problem, quantum algorithms have to offer significant speedups, featuring at least exponentially better asymptotic complexity compared to that of the classical algorithms.
- Quantum hardware is in its “noisy intermediate-scale” era, with devices too large to be simulated classically but too small and too noisy to solve practical problems.
- The software stack plays a critical role for quantum computers, enabling the execution of algorithms on hardware and accessing the quantum systems via the cloud, accelerating algorithms research and driving the requirements for hardware design.
- Governments and companies worldwide are paying increasing attention to quantum computing and investing in its continued development.
- Learning quantum computing can provide you with a lot of opportunities to contribute to this domain and, like learning any new computing paradigm, make you a better thinker!
Quantum Programming in Depth ebook for free