In September, Microsoft announced plans to weave a quantum-computing language into Visual Studio, its integrated development environment (IDE). That announcement, made at the Ignite conference, offered the tantalizing possibility of further “democratizing” quantum computing, an emerging form of ultra-powerful computing.
Now Microsoft has released a free version of its Quantum Development Kit, which includes the Q# programming language, libraries and documentation, and a pair of quantum computing simulators. (Programmers interested in exploring Microsoft’s take on quantum computing will need to know their way around Visual Studio.)
Microsoft describes Q# as a “domain-specific programming language used for expressing quantum algorithms.” Tech pros can leverage it to write “sub-programs that execute on an adjunct quantum processor under the control of a classical host program and computer.” The accompanying library features not only operations and functions for these Q# quantum algorithms, but also “the classical language control requirement.”
The simulator package includes a local quantum machine simulator, optimized for accurate vector simulation and speed, that allows tech pros to simulate quantum functionality; there’s also a quantum computer trace simulator, which is used “to estimate the resources required to execute a quantum program and also allow faster debugging of the non-Q# control code.”
This development kit is very much a preview, designed to give tech pros an early taste of Microsoft’s quantum-computing efforts. But Microsoft isn’t alone in the quantum-development space; in mid-2016, for example, IBM gave select groups of researchers access to its 5 qubit quantum computer via cloud-based programming interface. As the technology evolves, other tech firms may offer a taste of what the technology can do.
But it remains to be seen whether any of these companies can make quantum computing into even a relatively commonplace thing. At the moment, researchers are still wrestling with verifying whether quantum computers are actually producing the correct answers.
Whereas “conventional” computers deal in binary bits (one or zero; true or false), quantum computers rely on so-called “qubits,” which can exist not only as zeroes and ones, but also in an in-between state known as a “superposition.” So while conventional processors crunch through one solution at a time, a quantum computer can theoretically explore every potential solution simultaneously. In theory, that means a quantum computer could chew through a task such as decryption much faster than a “regular” computer.