Co-author Benoît Valiron discusses quantum computing and "Programming the Quantum Future" (cacm.acm.org/magazines/2015/8/189851), a Contributed Article in the August 2015 Communications of the ACM.
00:00 How do you speak to a child not born? Can it hear? Will it understand?
00:11 The children of heroes like Hopper and Turing spoke in gates and circuits, the first response like a newborn's cry.
00:20 We now share many languages with the classical computers that are their children.
00:27 But quantum computers are on the way. Their languages will reflect their own strange and spooky nature. And we are the ones to construct them.
00:40 Join us as we talk with one such language creator, in Programming the Quantum Future.
00:49 [Intro graphics/music]
00:58 Fundamental ideas of logic, storage, and output existed long before we could implement them in classical computers.
01:10 Now, researchers are preparing for the world's first general-purpose *quantum* computers, even though none exist yet.
01:18 Here at the Quantum Programming and Circuits Workshop at the University of Waterloo's Institute for Quantum Computing, we caught up with Benoît Valiron.
01:27 His new language is Quipper, which runs on classical computers to turn computations into quantum circuits.
01:35 DR. VALIRON: The program is the generation of this sequence of instructions, of this sequence of elementary gates sent to the quantum device.
01:46 Because of the nature of quantum mechanics, these gates must be *reversible* -- or you'll lose track of your input values. That requires some tricks.
01:54 DR. VALIRON: The negation is reversible: You negate twice, you get back the inputs. Whereas the conjunction is not. ... What you can do, though, is have a gate, and it's called the Toffoli gate ... So this is perfectly reversible because if you do it another one ... that will cancel it, and you get back X, Y, R.
02:11 Even the answers aren't as they seem, because information in the quantum world isn't as clear-cut as the ones and zeros we're used to.
02:21 Instead, it's like Schrödinger's famous cat, both dead and alive while hidden in a box, resolving to one or the other only when the box is opened.
02:32 DR. VALIRON: If you toss a coin, then you know that with some probability you get true, and some probability you get false, but you don't have both at the same time. In quantum information, you *do* have both at the same time.
02:44 This superposition of values is what gives quantum bits, or "qubits", their computational power. But that power collapses when you measure the answer that those qubits provide.
02:56 DR. VALIRON: So you design your algorithm, and it gives the right answer with some probability. And you design it in such a way that the probability of getting the answer you are interested in is high.
03:07 As we struggle to create universal quantum processors with only a few dozen qubits, it's as important to estimate resources as to get answers.
03:17 DR. VALIRON: At least you want to make sure that it effectively will run on the thing. Because you assume that each run is going to be expensive.
03:26 Those runs will eventually get cheaper, our discourse with quantum computers more fluid.
03:33 DR. VALIRON: It's like effectively being at the beginning of computing!
03:38 But for now, languages like Quipper let us start the conversation... with that one, first word.
03:47 Find out more in this month's Communications of the ACM, in the contributed article, "Programming the Quantum Future".
03:55 [Outro and credits]