Microsoft today launched a preview version of a new programming language for quantum computing called Q#. The industry giant also launched a quantum simulator that developers can use to test and debug their quantum algorithms.

The language and simulator were announced in September. The then-unnamed language was intended to bring traditional programming concepts—functions, variables, and branches, along with a syntax-highlighted development environment complete with quantum debugger—to quantum computing, a field that has hitherto built algorithms from wiring up logic gates. Microsoft's hope is that this selection of tools, along with the training material and documentation, will open up quantum computing to more than just physicists.

Given that quantum computers are still rare, Microsoft has built an as-yet-unnamed quantum simulator to run those quantum programs. The local version, released as part of the preview, can support programs using up to 32 quantum bits (qubits), using some 32GB of RAM. Microsoft is also offering an Azure version of the simulator, scaling up to 40 qubits.

Real quantum computers use cryogenic temperatures and are limited to a handful of qubits. Unwanted interactions between the qubits and their environment mean that effective quantum algorithms need not only qubits for the actual computation but additional qubits for error-checking and detection. Microsoft's ambition is to build physical quantum computers using "topological qubits," a kind of quantum bit that's more resilient to unwanted influence from its environment and which, henceforth, will require fewer qubits to do useful work.

Microsoft anticipates interest in a wide range of fields. Cryptography is perhaps best-known—many of the algorithms that we trust to securely communicate online are broken wide open by a sufficiently large quantum computer. But applications in fields such as drug design and catalyst development are likely to materialize sooner, as they're able to make use of smaller quantum computers with hundreds of qubits, compared to the thousands required to break cryptography.