New Microsoft Quantum Development Kit Integrates with Visual Studio
Microsoft yesterday unveiled a new Quantum Development Kit for developers wanting to get in on the bleedingest of bleeding-edge technologies.
Quantum computing, still difficult to explain and shrouded in mystery to many, was recently identified by CEO Satya Nadella as one of the three primary points of focus for the company, along with two other game-changing technologies that will shape the future: mixed reality and artificial intelligence (AI).
Or, as Microsoft said in its announcement post yesterday, "It goes without saying that quantum physics is extremely complex, and even some of the smartest people in the world confess that quantum computing is hard for them to understand."
One thing everybody understands is the promise of a breakthrough in computing speed for certain applications. According to the company's "What Is Quantum Computing" site:
In quantum computing, a qubit (short for "quantum bit") is a unit of quantum information -- the quantum analogue to a classical bit. Qubits have special properties that help them solve complex problems much faster than classical bits. One of these properties is superposition, which states that instead of holding one binary value ("0" or "1") like a classical bit, a qubit can hold a combination of "0" and "1" simultaneously. When multiple qubits interact coherently, they can explore multiple options and process information in a fraction of the time it would take classical even the fastest non-quantum systems.
To help daring developers wrestle with qubits, Microsoft unveiled the Quantum Development Kit.
Along with a quantum computing simulator and other resources found in SDKs, the kit includes the purpose-built Q# programming language, a domain-specific language used for expressing quantum algorithms. It provides a small set of primitive types, along with the ability create new structured types via either arrays or tuples. It includes basic procedural constructs for writing programs such as loops and if/then statements, with top-level constructs being user defined types, operations and functions.
The company provided the following summation of the kit's components (in addition to the aforementioned Q# language and accompanying compiler):
- Q# standard library. The library contains operations and functions that support both the classical language control requirement and the Q# quantum algorithms.
- Local quantum machine simulator. A full state vector simulator optimized for accurate vector simulation and speed.
- Quantum computer trace simulator. The trace simulator does not simulate the quantum environment like the local quantum simulator. It is used to estimate the resources required to execute a quantum program and also allow faster debugging of the non-Q# control code.
- Visual Studio extension. The extension contains templates for Q# files and projects as well as syntax highlighting. The extension also installs and creates automatic hooks to the compiler.
Microsoft said the new Quantum Development Kit is designed to enable developers to get in on the quantum action regardless of their expertise in quantum physics.
Helping to do that is tight integration with the Visual Studio IDE, which will provide some familiarity for developers already in the Microsoft camp.
When used in conjunction with the local quantum simulator (an Azure-based simulator is also available), coders will be able to simulate about 30 logical qubits of quantum computing power just using a typical laptop, Microsoft said. The more scalable Azure simulator boosts that up to more than 40 logical qubits of computing power.
Developers can also use published documentation, libraries and sample programs to help them get started with quantum computing, available on the company's just-published site for the Quantum Development Kit preview.
David Ramel is the editor of Visual Studio Magazine.