I understand there are a lot of programming languages (e.g. Q#, Qiskit, etc.)
Which one is suitable for someone that just started learning programming and doesn't know anything about quantum mechanics?
I understand there are a lot of programming languages (e.g. Q#, Qiskit, etc.)
Which one is suitable for someone that just started learning programming and doesn't know anything about quantum mechanics?
The languages themselves are all essentially the same for a new user. They all implement the same basic set of quantum operations, which are the ones that have been used by researchers for the last few decades.
If you’ve just started programming, the most relevant factor for you might be the language that the quantum SDK that is written in. They are mostly in Python, but QISKit also has Swift and Java variants. Q# is integrated into Visual Studio.
Beyond this, there are differences in things like
I am very biased in what I recommend (and so I hope that others biased in different directions will also answer your question) but I’d say that taking a look at the QISKit blog might be a good start. Here’s a couple of my own articles
It depends on languages you will have more affinity with.
Qiskit, pyQuil, etc are in Python, which is a programming language easy to understand generally with a lot of helpful libraries. They provide documentations/tutorials to make any beginners start quantum computing. Writing codes can be done in a few lines.
Q# is in C#. I have not tried it but if you started learning programming focusing on C or C++ (and like it), I guess you should be comfortable with this one.
For learning, I would recommend to read the book Quantum Computation and Quantum Information from Nielsen and Chuang or Quantum Computing for Computer Scientists from Yanofsky and Mannucci; if you can have access to them and in parallel look at some code in the platform of your choice. But it is always a good idea to combine different sources and explanations to understand better.
I agree with James Wootton's answer. The choice of the language becomes important once you work on a larger project in which you want to rely on libraries, resource estimates and other advanced features. When you're starting to learn the basics of quantum computing and quantum programming, your programs will be very small and really not that different across different languages.
I assume you'll be going through some book/course on the theory of quantum computing. In this case, there are two things you'll definitely want from the programming language:
My recommendation (biased in different direction, as James suggested :-) ) is to take a look at Q#: