More than a computer invention, developers work with a string of zeros and units and create a modern world by direct or indirect manipulation of binary computer bits that can be found in one of two possible states. Now, real quantum computers are seen on the horizon with a promise of speeds that are hundreds of millions times higher than the speeds of classic computers, so the binary state of things could change quickly. But how will the programs, which are only mortals, able to use all this potential speed when quantization programming is described as a "task that is as confusing as quantum mechanics itself"?

Simon Devitt, who studies quantum computing at the Japanese Center for Science of Emerging Substances RIKENU (19459006), offers this answer: with much, much help. Quantum coding could be one of the most complex tasks ever, so coders begin pooling their resources and creating the tools they will need to advance the field as a whole.

At the most basic hardware level, quantum computers differ from classics by not being binary – instead of working with bits that are in one of two possible states, quantum processors work with quantum bits or cues that are simultaneously in * both * states. The right quantum computer would keep all of your cubes in "superposition of the state", meaning that the whole order would be in virtually all possible combinations of states at once. When Geordie Rose talked about the work his company D-Wave Systems took with quantum computers in 2013, he clearly painted this mad idea when he explained that the calculations of his machine were coordinated over the multiverse.

However, most classical software engineers do not write their programs in raw bits of binary code, so why would quantum programmers write directly to the cubic medium? Companies around the world develop tools that enable encoders to navigate through the most striking aspects of quantum physics. Microsoft develops its LIQUi |> initiative *the "Language Integrated Quantum Operations Simulator" *"LIQUID"), in part to translate appropriate algorithms from well-known programming languages into a quantization machine's quantization machine.

What is contained in the "appropriate algorithm" for performing multivariate operation? It's a little complicated.

First, regardless of the selected programming language, all mathematics that are being performed on a quantum computer must be reversible, backward. This means that all outputs must contain enough information so that the entire process of their creation can go back to regenerate the input. So, 1 + 1 = 2 is the output, since two units can not be exported from the raw number 2. Fortunately, there is a reversible version of every possible computer function, including 1 + 1, but much more complicated to use. The translation of complex regular programs in a reversible form is possible, but often it is so ineffective that it is not worth the effort.

Another problem concerns dehydrogenation, or the fact that the superposition, which is crucial for quantum computation, is only possible when the computer is completely shut off from the outside world. Dave Wecker from LIQUI Initiative wrote for * Inverse * that it means that only extracting output from a quantum computer can become a problem. "When you ask for an answer, you usually have to start scratch to get another," he wrote. "This teaches you to carefully choose what you really want."

Quantum computers are like black boxes where even programmers can not observe the way their data is from input to output, which means that bug check requires a lot of workload. Jorge Cham, author of digital comic book * PHD Comics * invented the term "quanfidential" * quantum, * quantum + * confidential, * confidential to describe this regime of quantum secrecy .

Maybe all these difficulties could overcome mass tests and bug fixes, but there is another bigger problem that makes it impossible for any solution involving the use of raw power: the lack of truly robust quantum computers where the codes can even test. Although D-Wave Systems claim to sell the world's first commercial quantum computers, these machines are limited by the choice of quantum algorithms they can make, and in any case, more affordable models still come at $ 15 million.

Devitt says this is one of the biggest difficulties in the modern quantum code development process. "How can a classic software developer or encoder construct a quantum code?", Wrote in an email for * Inverse. * "The classical community certainly does not sit with paper and pencil to develop an algorithm, but with quantum algorithms it is still a norm." The calculations on the napkins may be romantic, but they will not change the world if they can not be tested

Currently, the most modernized generalized quantum computers (theoretically not supposed to have a limit of 2,000 D-Wave Cubic devices) come from Microsoft, IBM and soon Google, but even these are the most useful as evidence of the concept, since they do not have enough cubs to strike on the steep part of the exponential curve of the power of quantum computation. Although almost certainly prototypes that will create quantum computers that will change the world, these computers themselves are not revolutionary machines, not yet

IBM is currently setting up a quantum computer prototype on its cloud service, from which it can be used in quantum code testing, although a limited number of cubic meters means performance will still be too slow to be useful to anything more than computational research. To make up for this, teams from all over the world, mostly from the LIQUi initiative, learn how to model quantum computing on normal computer hardware. These quantum simulators do not provide tremendous advantages to quantum hardware, but instead can do their work without the actual intertwining of quantum particles. The result is that, apart from the fact that these simulators are in active development, they also provide insight into their own processes, meaning they are not black boxes. In principle, the quantum algorithm must be achieved in a transparent but sluggish context of the simulated quantum environment, and then only translate it into a muted but much faster context of the actual quantum computer.

Unfortunately, each additional simulated cubit dampens the operating memory requirements of the simulation computer; 30-cubic simulation in superposition subtracts about 32 gigabytes of memory, while the 31-cube takes about 64 gigabytes. As you reach up to 45 simulated cubes, a classical computer should already have more than 1 million gigabytes of memory. It will require larger quantum computers for useful calculations, meaning that the current potentially most important parts of the quantum code can not be tested either in real or simulated quantum environments.

Devitt believes that the advancement of these quantum coding tools will be completely necessary to understand the potential of that code – even before PCs reach the wider market. "The most amazing and most influential quantum algorithms and programs," he wrote, "will not detect or invent physicists or engineers of quantum computing."

Thus, though, the development of quantum programming may be a little more like the classic code that came before it.

Original text author: Graham Templeton for * Inverse *