1 Evolution, revolution, or hype?


This chapter covers

  • Setting the expectations for quantum computing
  • Understanding what kinds of problems are suited for quantum computers
  • Options for Java developers to work with quantum computing

The number of books, articles, and blog posts about quantum computing is constantly increasing. Even if you read only basic information about quantum computing (QC), it is clear that this is not just an incremental enhancement of classical computing. The core concepts of QC are fundamentally different, and its application area is also different. In some areas, quantum computers are expected to be able to address problems that classical computers can’t.

Furthermore, because QC is based on quantum physics, there is often some mystery associated with it. Quantum physics is not the simplest part of physics, and some aspects of quantum physics are extremely difficult to understand.

Thus QC is often pictured as a mysterious new way of working with data that will drastically change the world. The latter is true, at least based on what we know at this moment. Many analysts believe it will take between 5 and 10 years before real, useful QC is possible, and most believe the impact will be huge.

1.1 Expectation management

1.1.1 Hardware

1.1.2 Software

1.1.3 Algorithms

1.1.4 Why start with QC today?

1.2 The disruptive parts of QC: Getting closer to nature

1.2.1 Evolutions in classical computers

1.2.2 Revolution in quantum computers

1.2.3 Quantum physics

1.3 Hybrid computing

1.4 Abstracting software for quantum computers

1.5 From quantum to computing or from computing to quantum