What is going to happen to java when Quantum computers are available. We are now to close to a universal quantum computer. Will we still need JVM or will something much more powerful replace it.
New quantum languages are Q# by microsoft which is a c# replacement for quantum CPU's. My question is will java get replaced like C# or c++ which is for current cpu architecture or will java JVM last and maybe sit on top of quantum cpu architecture??
Okay, let's suppose we have quantum computers which we can buy from Amazon (or wherever one buys computers these days). Now what? Can I use the quantum computer to run an application to renew drivers licences and put that application on the web?
No. We need software for that quantum computer. Hardware is no good unless you have software you can run on it.
At first, problems that require quantum computing to solve efficiently would be solved in native code, without a change to the Java language. This would likely involve issues like prime factorization and the discrete logarithm. The Java crypto libraries would be most heavily affected.
However, for us to perform quantum computing ourselves, I don't think the Java runtime would be fit to support such a language efficiently without a major overhaul that would essentially come down to writing a new VM altogether. Does that mean Java will get replaced? Unlikely. Quantum computing is not fit for every day tasks we usually concern ourselves with. Most programmers will probably stick with classical computing until there truly is a new universal method of computing that supersedes it. I don't expect that to happen this century.
Regarding Java and QC: Stephan's right, the QC control is just a library which can be called from any language, including Java. A quantum computer can be thought of as a co-processor, like a GPU (in fact, at work we refer to it as a QPU). Like a GPU, you won't usually run the whole program on the QPU, but rather write a CPU program (in Java or anything else) as you normally would, and call library functions when there are tasks for the QPU to handle.
Next week (Oct 8) on CodeRanch: I'll be hosting a week-long promo Q&A on quantum computing, so if you're interested bring any questions you've got. I'll either answer them (with working code samples whenever possible) or else get the answers (my co-authors are awesome, they'll know whatever I don't).
More details on QPU programming language, if you want them:
The O'Reilly book has 54 samples which run both in simulation and on a physical QPU.
As an example of how this will look in practice, here's a function from the book samples which generates a quantum-random byte.
Here, anything starting with `qc.` is an instruction for the QPU.
For a more interesting case, here's part of the book's teleportation code sample.
In this case, the variables `alice`, `bob`, and `ep` are classes which issue QPU programs for specific qubits.
Fun fact: When you run this code sample using IBM's QPU hardware, which is free to access, it performs actual quantum teleportation, not a simulation. :]