Thank you for visiting nature.com. You are using a browser version with limited support for CSS. To obtain
the best experience, we recommend you use a more up to date browser (or turn off compatibility mode in
Internet Explorer). In the meantime, to ensure continued support, we are displaying the site without styles
and JavaScript.
The advent of fully fledged, universal quantum computers will signify a radical departure from current, silicon-based computing. This Insight looks at several aspects of future quantum computing, including programming languages and compilers for quantum software, fault-tolerant quantum computation, quantum machine-learning algorithms and post-quantum cryptography. Ways of comparing the power of classical and quantum computers and of achieving quantum supremacy are also discussed.
The leading proposals for converting noise-resilient quantum devices from memories to processors are compared, paying attention to the relative resource demands of each.
To enable a quantum computer to solve practical problems more efficiently than classical computers, quantum programming languages and compilers are required to translate quantum algorithms into machine code; here the currently available software is reviewed.
The era of fully fledged quantum computers threatens to destroy internet security as we know it; the ways in which modern cryptography is developing solutions are reviewed.
Quantum machine learning software could enable quantum computers to learn complex patterns in data more efficiently than classical computers are able to.