4
$\begingroup$

Many scientific programmers get by fine without having a computer science background, i.e. they don't need to know the machinery behind the prevailing paradigm of 0's and 1's (bits), let alone basic logic, to code.

Given this lack of awareness of classical computing's inner workings, what are stand-out concepts from classical computing that every aspiring quantum programmer should know?

$\endgroup$
1

1 Answer 1

4
$\begingroup$

I take your statement that programmers "don't need to know the machinery behind the prevailing paradigm" to mean that most scientific programmers need not know how a $\mathsf{NAND}$ gate is realized, with, say, a set of $6$ or so transistors.

However, probably a concept that is fundamental in quantum computing, that can be understood by anyone familiar with logical operations like $\mathsf{AND}$, $\mathsf{OR}$, etc. is that of reversible computing. For example quantum computing logical gates must be reversible, and gates like $\mathsf{NAND}$ etc. are ruled out. Information is lost in such gates.

However, gates like $\mathsf{XNOR}$ are still allowed in quantum computing (because they are reversible, and the input could be recovered.)

Because information cannot be erased in quantum circuits, it becomes difficult, though not impossible, to program recursive subroutines with reversible gates. See e.g. this Quanta article on the problems of recursion in quantum computing, and the recent breakthrough of Gidney.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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