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$

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.