More and more people seem to be transitioning from computer science (CS) backgrounds into quantum computing (QC). Armed only with a little programming knowledge, anyone can run experiments on real quantum computers that harness quantum mechanical effects such as entanglement, teleportation, and tunneling. In fact, with drag-and-drop circuit editors, you don’t even need a programming background for two of those.
The transition seems easy, at first. I picked up Quantum Assembly Language (QASM) quickly because of its resemblance to NASM (classical Assembly Language). Also, the most popular quantum computing libraries (Qiskit, Forest, Cirq, and others) are written for the world’s most-used computing language: Python. If you know Python, you’re already at least one step through the doorway.
However, CS practitioners quickly encounter roadblocks. While the “hello, world” experiment of quantum entanglement is not too hard to grasp at a high level, subsequent algorithms become more and more incomprehensible. The explanations of these algorithms begin to look more like math exams than English essays.