Skip to content

Introduction to Quantum Computing Programming Languages

· 3 min

As a newcomer to the quantum computing industry, I’ve had a quick immersion in what’s what. I wrote about my experiences at the Q2B 2022 conference in Silicon Valley last week, and this post is a collection of my notes as I’m testing out the different programming languages across the various quantum computing platforms and providers.

I’ve ordered my notes by the primary languages currently used in quantum computing, impressions of their respective implementation, and what I observe in terms of their adoption across major quantum computing platforms.

Core Languages#

Python#

Python has emerged as the de facto standard for quantum computing development, primarily due to its accessibility and extensive scientific computing ecosystem. It strikes me as likely that there will be some greater level of abstraction away from the programming framework level in coming years, and while the current discourse in tech will immediately suggest “that’s what AI will do”, it will be interesting to see if there’s room for higher level components or even thoughtful UI interfaces to interpret and compile quanmtum programs. In the meantime, we’ve got Python, which for a newcomer is a relief to be able to use something at least familiar to the majority of us.

On that note, there are several key frameworks that demonstrate its dominance:

Qiskit (IBM)#

Cirq (Google)#

PennyLane (Xanadu)#

Q# (Microsoft)#

Microsoft’s dedicated quantum programming language builds atop their C# language and offers several distinctive features:

Julia#

Julia has gained traction in quantum computing due to its high-performance characteristics (and seems particularly common amongst my more academic background colleagues):

Emerging Technologies#

While I don’t have a lot of personal experience on these yet, they’re on the cards for the next year and beyond.

Silq (ETH Zürich)#

OpenQASM#

Analysis of Industry Adoption#

Commercial Sector#

Research Institutions#

  1. Integration Trends
  1. Development Priorities

Recommendations noted by industry observers#

  1. For Enterprise Adoption
  1. For Research Applications

References#

  1. “Quantum Software Development: State of the Art and Future Directions” - ACM Computing Surveys
  2. “Comparing Quantum Software Development Frameworks” - IEEE Quantum Computing
  3. “Programming Paradigms for Quantum Computing” - Nature Computational Science
  4. Technical documentation from IBM, Google, and Microsoft quantum computing divisions