4
$\begingroup$

I'm new to quantum computers and computing, so it's possible my question is pointless or unnecessary ... but what about current programming languages such as Java, C++, Python in terms of quantum computer development? Will these languages not be applicable or do we need to create new languages optimized for quantum computing? Thanks in advance for the answer and for any materials on the above subject.

$\endgroup$

1 Answer 1

3
$\begingroup$

Currently there are a few open source "languages" out there.

Just a bit of context: so in a very hand-wavy way, a programming language on your classical computer (implicitly) translates whatever code you have to a circuit with all the AND, NAND, XOR etc. gates so that your computer can then execute the desired circuit to compute whatever you want to compute.

Although quantum computers can also be thought of working as executing similar kinds of circuits, they have fundamentally different gates and units of information (i.e. qubits instead of bits). And so basically the way we program quantum computers today is by designing quantum circuits manually at a very low-level. This is by no means how quantum computers will be programmed in the future, and the goal is eventually to get to levels of abstractions that are similar to the ones we have in classical computing today (like how we program in python or C++). But this is still an ongoing field of development, which has to go hand-in-hand with the development of the hardware.

So currently, there are a few big open source languages that are packages in python: qiskit (from IBM), cirq (from Google) and braket (from AWS). Another big language is Q# (from Microsoft) that is built upon C#. There are some other ones out there too. But essentially they let you create these circuits manually and send them to quantum computers.

$\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.