With the PC market tapped out and in a perpetual slump and the cloud market a tough fight for customers, Microsoft's on the prowl for new frontiers.
In that spirit, the company announced last week an effort to create a quantum computer , an amalgam of exotic hardware and specialized software that will allow parallel computations at speeds orders of magnitude beyond what conventional silicon can provide.
An announcement like this would once have been easy to blow off as a science-fiction self-indulgence. In the last couple of years, though, quantum computing's become a field of serious study for big-name enterprise IT companies . Here are 4 big takeaways from Microsoft's plunge into what may prove to be a very deep pool.
1. Microsoft's coming late to this party, but that may not be a bad thing
Microsoft is known more for being a refiner than an innovator, but that's not always a bad thing. It wasn't first to the cloud, but Azure is fast shaping up to be a powerful contender in that space. By hanging back, it learned lessons about what was actually worth attempting in this space, instead of just unthinkingly copying existing contenders.
The same may well also apply to what Microsoft does for quantum computing. Right now,IBMand Googlehave their own QC efforts underway, with IBM creating its own custom hardware and Google looking for ways to synthesize approaches between different QC methodologies.
There's much to learn from all of them. By waiting this long to kick off its own program, Microsoft can avoid some of the earlier dead-ends and false starts instead of repeating the mistakes of others.
2. The plan is to build tools, not lab toys
Quantum computing has long been regarded as a lab plaything rather than a practical application. That reputation didn't come out of nowhere: QC hardware can currently only solve a very narrow range of problems, making it impractical for the kind of work done on conventional computing hardware. QC company D-Wave (supplier of Google's quantum hardware) has long been associated with solving highly specific problems, but IBM's approach involves creating more general-purpose systems.
Microsoft's plan is to use a different kind of quantum computing building block -- what it calls a "topological qubit" -- as the underpinning for its hardware stack. It's been difficult to create general-purpose QC hardware because quantum hardware only operates properly under highly controlled, isolated conditions. Topological qubits are believed to be more robust, and thus easier to build larger systems out of -- meaning they can work in the real world, not just in a laboratory.
In short, Microsoft wants to produce something that can be a monetizable product, not just an abstract technological accomplishment. After all, the latter's already been done.
3. There's already cloud-based quantum computing, but perhaps Microsoft can do better
If history's any guide, Microsoft's most likely way to make its quantum research into a product , not just a project, will be to offer up access to its quantum hardware via Azure.
Thing is, IBM already has a version of QCaaS (quantum computing as a service). It currently offers time-shared access to programming its own five-qubit processor through a web-based, drag-and-drop "composer" interface.
But IBM's QCaaS offering is highly limited. It's essentially an experimental sandbox with little way to use the resulting quantum programs, or "circuits," outside of that sandbox. Maybe that's justified for now, since QC programming is so radically unlike conventional computing.
Microsoft could take advantage of such a disjoint by doing as much as it can to bridge the two realms -- by offering Azure-based QCaaS with many common QC functions already pre-built, for example.
4. Microsoft's existing language tools would make a great platform for future QC development
A more powerful long-term bet would be to have QC development tools available through Microsoft's existing software development and language products.
An Azure QC module for C#, R, or Python, for instance, could allow users of those languages to write QC code with software development metaphors they're already familiar with.
Some precedent for this sort of metaprogramming already exists. The LLVM compiler, for instance, has libraries that allow other languages to drive the compiler -- e.g., llvmpy for Python. In the same way, Microsoft could create metaprogramming libraries for QC with bindings to most any language.
Microsoft has already started working on the software side with a tool called Language-Integrated Quantum Operations, or "LIQUi|>" (no, that's not a typo). It allows users to define quantum circuits in Microsoft's functional F# language. F# may be a first-class language in Microsoft's world, with full-blown Visual Studio support andconstant upgrades, but it's nowhere nearly as widely used as other languages in Microsoft's portfolio (C#), let alone all the outside languages that Microsoft supports directly (R, Python).
If Microsoft's long-term plan is to bring quantum computing to the masses -- and all signs hint at that being a major motivator -- it only makes sense to support it with the tools everyone already knows and makes the most of.