Just as there is choice in the conventional programming space, the same applies to programming languages and frameworks for quantum computers. The choice is good, but one could argue there is almost too much choice when a beginner wants to start learning quantum programming. Starting with the correct quantum language or quantum programming frameworks could significantly impact your progress. This article will briefly examine the three most popular frameworks and languages developers use to program quantum computers.
Quantum Languages vs Quantum Programming Frameworks
A quantum programming language is specialized to describe and implement quantum algorithms. It provides the syntax and constructs necessary for representing quantum states, operations, and measurements. These languages are tailored to capture quantum systems’ unique properties and behaviours, such as superposition, entanglement, and quantum interference. Quantum programming languages allow developers to write code that can be executed on quantum hardware or simulators, and they often resemble classical programming languages but with added constructs to handle quantum-specific tasks.
On the other hand, a quantum programming framework is a comprehensive software toolkit that offers tools, libraries, and APIs to facilitate the development, simulation, and execution of quantum programs. While a quantum programming language focuses on the coding aspect, a quantum framework provides a broader environment that might include quantum circuit design tools, optimization routines, noise models, and interfaces to actual quantum hardware or cloud-based quantum computing services. Frameworks often support one or more quantum programming languages, enabling developers to seamlessly integrate quantum operations with classical computations and deploy quantum algorithms on various platforms.
The three most popular Quantum Programming Frameworks
In a recent article, we covered the most popular languages and frameworks. We will quickly review the three that the community uses the most. The list will perhaps be nothing of a surprise to those already in the quantum computing space.
Qiskit
Launched by IBM in 2017, Qiskit is an open-source quantum computing framework. It’s primarily written in Python and provides tools for creating and manipulating quantum circuits, simulating quantum algorithms, and even running experiments on IBM’s cloud-based quantum computers. Qiskit’s modular design allows for flexibility, and its active community ensures continuous updates and improvements. Compared to others, Qiskit boasts a robust set of libraries and has strong backing from IBM, making it one of the most comprehensive tools available. It was ranked the most popular on our list, and we think the ability to use Python to interact with it helps it reduce the learning curve.

Q#
Introduced by Microsoft in 2017, Q# (pronounced as “Q-sharp”) is a domain-specific programming language tailored for quantum computing. Integrated with the Quantum Development Kit (QDK), Q# offers a unique approach by incorporating quantum algorithms within a classical environment, making it easier for developers familiar with classical programming paradigms to transition into quantum programming. While Q# has a steeper learning curve than Python-based languages like Qiskit and Cirq, its integration with Visual Studio offers a seamless development experience.

Cirq
Developed by Google and released in 2018, Cirq is designed to make quantum programming more accessible. Like Qiskit, it’s Python-based, which makes it user-friendly for those familiar with the Python ecosystem. Cirq primarily focuses on creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits, aligning with Google’s vision of near-term quantum computing applications. While Cirq might not have as extensive a set of libraries as Qiskit, its design philosophy prioritizes the nuances of NISQ devices, making it a go-to for developers aiming to work with this class of quantum computers.

Quantum Programming Frameworks Summary
While all three languages/frameworks aim to simplify quantum programming, their approaches differ. Qiskit offers a comprehensive toolkit with institutional solid backing, Q# provides a unique integration of quantum and classical programming.
If you want to get started, check out the multitude of resources available online to help you get started, but if you want to go “old school” you can use one of the excellent textbooks that have been published.
