To start talking about quantum programming, it is worth answering the question in a few words: What is a quantum computer?
The idea of building quantum computers appeared quite a long time ago, in the early 80s of the last century. David Deutsch developed the complete theory of quantum computer operation in the mid-1980s. In subsequent years, the theory of quantum computers aroused the interest of a growing community of scientists and fans of IT solutions.
Unlike a classical computer, a quantum computer is based on quantum physics. In a standard computer, information is represented by the basic unit of information, which is a bit, which has a value of 0 or 1. This is the electrical voltage of the electronic system. 0 is responsible for the lack of voltage, and 1 confirms that the voltage exists.
In a quantum computer, the bit is represented by so-called qubit and unlike bit, its states are not limited. Kubit is quantum superposition of zero and one, i.e. the position of a single atom in the structure.
To put it simply, the descent into the microworld of the atom and the use of quantum physics gives much more computational possibilities than modern computers. But how to use it?
The progenitor of quantum technologies in computers or IBM argues that programming for quantum systems will not be significantly different from what is known so far. The first qubit programming languages or simulators, such as Python qiskit or Q # from Microsoft are already being developed. Tools such as the Quantum Development Kit (QDK) are available, which is a set of algorithms that allow you to simulate a quantum computer on a regular stationary computer and create a virtual set of qubits.
Q # syntax resembles C # and allows you to model quantum teleportation of information. Tangled qubits will in future be the cornerstone of quantum internet activity. Programming is similar to writing drivers for graphics cards. The Microsoft tool will allow you to model small-scale algorithms that can be run on a standard computer to later use for more complex calculations using quantum processors.
Unfortunately, this is all theory at the moment. Quantum computers will not be available to the average user for a long time, so the real possibilities of using this technology are yet to come.