An in-depth look at the popularity of Quantum Computing Languages and Frameworks

Quantum Computing Languages

Popularity contests are well, contentious, but just like the Fortune 500 or the FTSE 100, we can at least aim to highlight which Quantum Computer Languages are being used. We’ve selected some of the languages that we can obtain data on and we come up with a formalism for how to rank these languages based on a number of key parameters.

We have used three dimensions in which to better understand which quantum computing languages are most popular. There are going to be some gotcha’s to these analyses and just with any computer language there is going to be some contentious measures here – but we have to choose metrics that offer a high rate of coverage amongst as many of the languages that we can.

The three dimensions chosen are GitHub Stars, Stackoverflow questions and GitHub stars. These are chosen as follows and we outline the methodology behind these. In the interests of being fair, we aimed for the same treatment for every language. But there are some issues relating to naming conventions and different repositories. So for example Qiskit and Q# come in a number of repositories and we have split these out to give a little more granularity. It might seem we are comparing apples with oranges, but we aim to be as transparent as possible.

GitHub Stars

This gives a measure of the popularity of the public projects. Somewhat akin to “Facebook” likes. These are the public code repositories which have been “starred” by end-users for whatever purpose. It doesn’t mean they are used in any meaningful way, just as the Facebook like is a crude indicator of popularity. This can be thought of as rather like a “depth” measure.

Stackoverflow Questions

We assume that the number of questions posted on the popular technical forum is a proxy for the level of interest amongst users working with the language and/or framework. In reality, these may not map exactly, but we think the ranking should roughly map.

Stackoverflow also has an associated site dedicated to Quantum Computing. We have also taken figures from here and taken the maximum of either the standard Stackoverflow number of questions or the dedicated Quantum Computing site.

We have also searched for Questions that are tagged or found using free searching. Again we take the maximum count that we find. One challenge is simply the disparity between the ease of search. Some terms are easier than others. For example “Q#” is harder to perform a free search compared to Qiskit (so we are potentially undercounting) Q#.

GitHub topics

Unlike the popularity of a single repository, this metric gives a gauge of how many projects have been created and made public and labelled with an appropriate tag. We chose this, as a form of “breadth” measure to understand those projects that have been created and relate to the language.

So which is the most popular Quantum Language?

We think there are few surprises that Qiskit beats out just about every other contender. Qiskit and its associated projects are some of the most popular languages and frameworks – that certainly didn’t surprise us. One main caveat is that this is rather an Art as much as a Science. We split the results into the top 5 languages/frameworks that have the highest aggregate of scores (linear). We also tabulate the results here so you can see the individual rankings for each entry and their composites.

Qiskit is an open-source quantum language and framework that has developed from the early days of the industry and has gone on to sport a number of new features such as quantum machine learning and support for different applications in Lifesciences and chemistry. Perhaps more interesting is who gets into second place…and here goes. We think that Microsoft just has the edge with its QDK and Q# which both beat the language backed by Google (named cirq).

Top 3 languages

So in summary, in order of popularity, Qiskit (by quite a long margin) backed by IBM, Q# and associated Quantum Development Kit, closely followed by Cirq.

LanguageGitHub Main URLGitHub StarsGitHub Topics StackoverflowTotal Score
Qiskit (terra)https://github.com/Qiskit/qiskit-terra0.9171.0001.0002.917
Qiskit (qiskit)https://github.com/Qiskit/qiskit0.6301.0001.0002.630
QDK (Microsoft)https://github.com/microsoft/Quantum1.0000.2530.0001.253
Q#https://github.com/microsoft/qsharp-compiler0.1510.2530.8011.205
Cirqhttps://github.com/quantumlib/cirq0.8890.0970.0641.050
PyQuilhttps://github.com/rigetti/pyquil0.3560.0530.0430.452
Penny Lanehttps://github.com/PennyLaneAI/pennylane0.2920.0720.0000.364
ProjectQhttps://github.com/ProjectQ-Framework/ProjectQ0.2130.0000.0430.256
OpenQASMhttps://github.com/Qiskit/openqasm0.1970.0000.0000.197
Strawberry Fieldshttps://github.com/XanaduAI/strawberryfields0.1650.0190.0000.184
Yaohttps://github.com/QuantumBFS/Yao.jl0.1710.0090.0000.180
Silqhttps://github.com/eth-sri/silq0.1500.0060.0070.164
QASM0.0000.1280.0000.128
LIQUi|>https://github.com/StationQ/Liquid0.1240.0000.0000.124
QMASMhttps://github.com/lanl/qmasm0.0930.0000.0000.093
Paddle quantumhttps://github.com/PaddlePaddle/Quantum0.0910.0000.0000.091
Quantum++https://github.com/vsoftco/qpp0.0910.0000.0000.091
Oceanhttps://github.com/dwavesystems/dwave-ocean-sdk0.0840.0000.0000.084
QCLhttps://github.com/aviggiano/qcl0.0070.0090.0500.066
Tequilahttps://github.com/aspuru-guzik-group/tequila0.0590.0000.0000.059
pytkethttps://github.com/CQCL/pytket0.0570.0000.0000.057
Scaffoldhttps://github.com/epiqc/ScaffCC0.0410.0000.0000.041
staqhttps://github.com/softwareQinc/staq0.0220.0000.0000.022
Blackbirdhttps://github.com/XanaduAI/blackbird0.0140.0000.0000.014
cQASMhttps://github.com/QE-Lab/libqasm0.0020.0000.0000.002
An In-Depth Look At The Popularity Of Quantum Computing Languages And Frameworks
Top 5 Projects in the public space
An In-Depth Look At The Popularity Of Quantum Computing Languages And Frameworks
Leading 5 to 10 Projects
An In-Depth Look At The Popularity Of Quantum Computing Languages And Frameworks
Leading 10 to 15 projects

The Quantum Computing Language Leaderboard

PyQuil comes in at number four. This was perhaps again unsurprising as the Quil flavour has been around for a little while and is backed by Rigetti who are making large strides in the commercialization of Quantum Computing. The offerings from Xanadu feature well – Penny Lane and Strawberry Fields. Penny Lane is a cross-platform Python library for differentiable programming of quantum computers. Train a quantum computer the same way as a neural network. The other offering from Xanadu, Strawberry Fields, allows Xanadu’s photonic quantum device to be easily programmed using python.