Quantum computing has the potential to make of the smartphones, laptops and data centers we now consider so sophisticated look positively Cro-Magnon. The potential is enormous. Have you ever seen the diagram of how many Earths could fit into a planet the size of Jupiter? For comparison’s sake, that is a good place to start.
But for the vast majority of people—including most computer engineers—what quantum computing actually does is basically a mystery. A few “real” quantum computers exist in the world (though some are controversial), and the art of actually programming them to perform useful work is still in its infancy.
A group of Google engineers are giving people the opportunity to play around with quantum programming. A project apparently spearheaded by engineers Greg Wroblewski and Laura Culp at Google’s campus in Kirkland, Wash., created a developer sandbox called the Quantum Computing Playground intended to give developers an opportunity to play around with the basics of quantum computing.
The conceptual gulf between standard digital computers and quantum computers is pretty huge. Digital computers process binary bits, typically represented as ones and zeros. Quantum computers, by contrast, are based on “qubits,” which—thanks to some arcane science involving the physics of tiny particles and their probabilistic wave patterns—actually exist in an indeterminate state that only resolves into a one or a zero at the end of a calculation.
It’s rocket science of the highest order, although it offers the potential of ultrafast computation, at least for certain types of problems.
The QCP is essentially an integrated developer environment where curious engineers can fiddle with some quantum computing basics, such as running scripts and 3D quantum state visualizations. It’s not actually a quantum computer, of course; the QCP just simulates how one would operate in order to let coders start to get familiar with the very different way a quantum computer handles computation.
It can simulate quantum registers up to 22 qubits while also running Grover and Shor algorithms. It comes with its own scripting language and debugging.
To get your head around the idea here, think of how computing works today. Developer typically write apps using a high-level (i.e., human-readable) computer language like Java, C++ or C#. For a smartphone or laptop to run that application, developers first run their code through a compiler (or a virtual machine) that translates it into machine code—the binary bits that the computer’s processor can understand.
That’s how coders interact with digital computers. Writing apps that can be translated into some form of qubit-relatable code may require some very different approaches, since among other things, the underlying logic for digital programs may not translate precisely (or at all) to the quantum-computing realm. Exploring such issues is apparently what the QCP is all about.
Here’s how the QCP page describes its own capabilities:
The most basic operations performed on qubits are defined by quantum gates, similar to logical gates used in classic computers. Using quantum gates one can build complex algorithms, usually ending in a measurement operation, which obtains a classical value of qubits (either 0 or 1, but not a superposition). The state of a quantum computer, a set of qubits called quantum register, can be visualized in a number of ways, typically as a 2D or 3D graph, on which points or bars represent superpositions of qubits, while their color or bar height represent amplitude and phase of a given superposition.
Culp briefly worked as a 3D software developer before going to Google. You can see why a developer with expertise in 3D representation of data might be interested in quantum computing and its capabilities. Wroblewski, meanwhile, describes himself on LinkedIn as a “privacy samurai” for Google and was previously a cloud-security researcher for Microsoft.
If you take the QCP for a spin, let us know in comments how well it represents the future of computing.