Craig Mundie, Microsoft's chief research and strategy officer, said Wednesday that the software industry needs to catch up with advances in computing power.
The gist: Computing power is growing exponentially via multiple cores and parallel processing. The rub: Software doesn't have the tools or programming heft to truly take advantage of them.
It's not a small issue. Intel is cooking up multiple cores at a rapid clip and can scale its designs for years to come, but software is way behind the curve. If we're going to get a new killer app, we're going to need the programmers to catch up with computing power improvements.
Here are the key themes from Mundie's talk at the Gartner Emerging Technologies Conference:
- Multicore processing: Cores will be heterogeneous and various capabilities "will be delivered by the number of cores. We need to move to a model that deals with this," said Mundie. The big issue is that programming models and languages aren't designed for multiple cores. "We'll see tools that address parallelism that composes multiple modules," said Mundie.
- Cooking up those programming languages will take time: Mundie argued there will be a phased approach to new languages pushed by a killer app. The software industry will also feature libraries of code and the challenge for developers will be writing "the glue" that puts it all together. Once an application is written in an existing language, you've taken away the parallelism.
- The skills crisis: One problem with new programming languages for parallel applications is the skills gap. The tools and languages don't exist today to really take advantage of multiple cores and highly scalable infrastructure. "We need to move our programmers to assemble their constructions in new models," said Mundie.
- Robotics SDK: Mundie noted that the robotics industry is in the forefront of assembling these parallel applications. He recommended that enterprise folks download it for experimental purposes.
- Software is too complex: In every other engineering industry, you graduate to a new model, said Mundie. This transition to multiple scale environments will force us to construct applications in much more reliable ways.
- The future of software: "We're at the earliest stages of what software will do," said Mundie, noting that applications evolve over a long time. Future generations won't think about programming in the same way that the current techies do.
- The user interface: Mundie talked Surface and how touch and voice will be a key way to navigate computing. He also said that he didn't think virtual worlds will become mainstream, but did note that 3-D representation of the real world will become popular.