Encoding information within quantum systems and manipulating them promises to lead to great advantages, with three main application domains: quantum cryptography, quantum simulation, and quantum algorithmics. To understand its strengths and limits, we take a transversal stance and seek to capture which resources are granted to us by nature, at the fundamental level, for the sake of computing (e.g. quantum & spatial parallelism).
We do so by abstracting away physics’ ability to compute, into formal models of quantum computation (e.g. quantum automata and graph rewriting models). We then verbalize its main structures as quantum programming languages (e.g. quantum lambda-calculus, process algebra). Actually, the process goes both ways, when developments in quantum programming languages lead to the discovery of new structures which may or may not be compilable into formal models of quantum computation, raising the sometimes fascinating question of the physicality of these resources.