4
$\begingroup$

Which quantum computing programming language should I learn? What are the benefits of said language? As of Wikipedia, there's quite a bit to choose from.

I'm looking to develop end-user applications (when quantum computers become end-user ready).

$\endgroup$
3
$\begingroup$

Q-sharp is a nice starting point.

Also I would suggest some general purpose mathematical language.
Julia is really awesome.

$\endgroup$
3
$\begingroup$

It might be a better investment to learn an SDK or API that's written in a common classical language. Each company that offers (or claims to it will soon offer) cloud quantum computer access has developed its own SDK for programming quantum circuits. The four main providers (API's) are IBM (qiskit and ProjectQ), Rigetti (Forest), Google (cirq), and Microsoft (QDK). I've worked extensively in cirq and pyquil (Forest's API), and I'm not really a fan of either - both are buggy and clunky in places, but this is natural given how young quantum programming is.

They're all different and its smart to have a feel for all of them, so if you want a more in depth comparison in order to commit to just one, check out LaRose's comparison here (and his slightly dated followup on cirq here)

$\endgroup$
  • 2
    $\begingroup$ do you have specific examples/pain-points where cirq is clunky/buggy? I'd love to hear them. $\endgroup$ – Craig Gidney Mar 9 at 3:13
  • 1
    $\begingroup$ ProjectQ isn't an IBM thing. It's from ETH. $\endgroup$ – James Wootton Mar 9 at 11:59
3
$\begingroup$

I would prefer to first learn Q-sharp if you want to quickly get into quantum computing programming, otherwise play with existing libraries and framework like Qiskit framework, Qutip python library or QETLAB matlab toolbox for feeling entanglement.

There is also a quantum computing interactive playground by Google.

$\endgroup$
1
$\begingroup$

If you like Python and want to run jobs on a real device, your options are Qiskit, ProjectQ or Forest.

If you like Python and are happy to wait for access to a real device, you could additionally go for Cirq. In this case, you might also want to look into the features of the simulators provided by all the Python frameworks, to find the one that best suits your intended use cases.

All the Python frameworks use the same basic way of building up quantum circuits by laying down simple quantum gates. They differ in their fancy features. Since I work on Qiskit, I am most familiar with its fancy features. But the fancy features of the others may suit you better. It all depends on what you want to do. But your decision on which to learn is not irreversible: it should be quite easy to learn with one and then use that same experience in using the rest.

If you are familiar with Visual Studio, and especially if you work in C#, it may be that Q# would be easiest for you. I am not a Visual Studio kind of person, so I have no experience with this myself.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.