Quantum computing sometimes seems very intimidating to get involved in. Physicists do tend to code in a lot of programming languages - like Matlab, Fortran, C++ - and getting access to a real quantum computer has historically been difficult. However, cloud quantum computing systems have opened up opportunities for anyone to start working with quantum computers. So, if you want to learn coding and eventually get involved in programming for quantum computing, what language should you learn?
What programming language should you learn for quantum computing?
My number 1 recommendation to learn is Python!
#1. It's simple syntax and easy to learn
Python was built to be as human readable as possible. Even if you're new to programming, a lot of it will intuitively make sense. It's also basically everywhere - for example, Mac OS already has Python installed so there's nothing to set up.
#2, Lots of resources
You can use Python for scripting, web development, AI, and now in quantum computing. Because of how widely used it is, there are a ton of resources out there. Depending on what type of learner you are, you can find lots of books, YouTube videos, interactive coding websites, and more to teach you Python. And because Python is beginner friendly, many of these tutorials will teach you computer science concepts as you learn the syntax.
#3. A lot of packages for quantum computing are for Python
However, the key reason that you should learn Python for programming quantum computers is because a lot of software packages to simulate or connect with quantum computers are written for use with Python.
Cirq
Cirq is Google's software library for writing, manipulating, and optimizing quantum circuits for quantum computers and simulators. Currently, you can't run these on the Google Bristlecone chip, though they have said they'll soon make it cloud available.
Qiskit is IBM's for working with noisy quantum computers at different levels. They have packages called Aqua, Terra, Ignis, and Aer, for working from the high level algorithms to low level pulses. You can run this on IBM's real quantum computers.
Ocean is D-Wave's tool. You can connect Ocean to D-Wave's Leap platform to run code on simulators or on the D-Wave machines.
Additionally, other packages and toolboxes like QuTiP (numerical simulations) and ProjectQ exist to make working with quantum systems even easier.
Python is a great programming language to start learning if you're interesting in working with quantum computers one day.
It's also a generally good programming language to add to your skillset! It's one of the fastest growing programming languages and big tech companies are always hiring Python developers.
Whether you're just starting out in computer science or an experienced programmer, there's opportunities for everyone to become involved with quantum computing. A lot of these packages are open source and welcome contributions from anyone, so you can start programming for quantum computing today through a simulator or even on a real chip!