Q# and the Quantum Development Kit

All the tools you need to develop quantum applications and formulate optimisation problems

The development kit for quantum computing and optimisation

The open-source Quantum Development Kit for Q# and Azure Quantum enables you to develop durable quantum applications for quantum hardware today and for scalable hardware in the future. Optimisation is a class of problems whose solutions are primary candidates for running on scalable quantum computers. The Quantum Development Kit also offers tools to formulate optimisation problems to run on large-scale or hardware-accelerated compute resources in Azure.

Q#: High level programming language that allows you to focus your programming at the algorithm level

Quantum computing simulator and resource estimator that provides real world costs to run your solutions

Ready-to-use libraries and samples for arithmetic, chemistry and machine learning developed by industry experts

Optimisation solvers that run on classical and accelerated compute resources in the cloud

The Quantum Development Kit for Q# and Azure Quantum

The Quantum Development Kit is the development kit for Q#, our quantum-focused programming language and Azure Quantum, our quantum cloud platform. Build and run Q# programs on quantum hardware or formulate solutions that execute optimisation solvers running on classical hardware on Azure.

More on quantum computing and optimisation

Q#: Quantum programming language

Q# is our high-level quantum-focused programming language offering an intuitive and modern approach to quantum program development. Q# allows you to focus your work at the algorithm and application level to create quantum programs.

Learn More

Develop with familiar tools

The Quantum Development Kit and Q# feature rich integration with Visual Studio, Visual Studio Code and Jupyter Notebooks. Use Q# on its own, in notebooks and at the command-line or use a host language with both Python and .NET interoperability. Formulate optimisation solutions with the Azure Quantum optimisation Python package.

Get started

Learn quantum computing today

Build your quantum computing skills with comprehensive learning resources. Explore the fundamental concepts of quantum computing and learn to build basic quantum programs through learning modules and self-paced quantum computing tutorials. Get a customised recommendation for quantum learning materials based on your interests, backgrounds and goals on our learning page.

Start learning

Contribute to the Quantum Development Kit

Collaborate with an emerging community of quantum programmers working on the open-source Quantum Development Kit in GitHub. Help an expanding community of developers to use Q# to deliver exciting new solutions and tackle complex problems with Q# libraries for arithmetic, chemistry and machine learning.

Frequently asked questions about Q# and the Quantum Development Kit

  • Quantum computing harnesses quantum mechanics to enable computation. Optimisation is a class of computing problems that are primary candidates for running on quantum computers in the future, providing a quantum advantage over classical solutions. We can already accelerate optimisation problems using Azure Quantum solvers that run on classical hardware in Azure today faster than many other classical optimisation techniques. Learn more.
  • Yes. The Quantum Development Kit is an open-source development kit that you can install on your laptop or other classical computers to simulate the computation of Q# programs on a small number of qubits. The number of qubits simulated depends on the memory size available. You can also run Q# code in web hosted Jupyter Notebooks or with GitHub Codespaces without installing anything on your computer. You do need an Azure subscription, however, to run Q# programs on quantum hardware with Azure Quantum. Learn how to set up the Quantum Development Kit.
  • Great question! There are a few ways you can get involved. You can get started with Azure Quantum and the QDK. Start your own learning journey by learning about quantum computing, optimisation, Q#, Azure Quantum and the QDK. Engage with Microsoft Quantum Network partners and startups. Join our growing community of contributors to the Quantum Development Kit open-source platform. And get notified about upcoming events for quantum computing and optimisation.
  • No, you can use the Quantum Development Kit in 3 ways: use it online, install it locally or use a Docker image. You can run Q# quantum code in web hosted Jupyter Notebooks or with GitHub Codespaces without installing anything on your computer. To develop Q# programs with Visual Studio or Visual Studio Code, you can install the Quantum Development Kit with the extensions for those development environments. Learn about all the ways you can use the Quantum Development Kit.
  • Q# works great on its own or used with other languages like Python or C#. You can develop Python host programs that call Q# operations. Your Python code is just a normal Python program. You can use any Python environment, including Python-based Jupyter Notebooks, to write the Python program and call Q# operations. Learn more about developing with Q# and Python.
  • Q# grew out of a need to develop, compile and run algorithms on both small-scale "NISQ" quantum hardware and eventual large-scale quantum computers. Q# is a modern quantum-focused programming language that enables productive development of large numbers of complex applications, not just simple quantum circuits. Quantum programs developed with Q# are durable across evolving quantum hardware platforms. Learn more about why we need Q#.

Get started with the Quantum Development Kit

Get started