Ive spent the past four days literally being doused by a fire hose of amazing information. Sunday and Monday I spent at Walt Mossbergs "D" conference, listening to Gates, Jobs and a parade of CEOs lay out the state of the now.
I then headed off to Mark Andersons FIRE (Future in Review) conference, right down the road here. The first day featured a wonderful chief technology officer round-table discussion and talks from Red Hats Szulik and RSAs Coviello.
Unlike "D," which can be somewhat cliquish, at FIRE, if youre in the door, youre part of the club.
After the first day ended, I enjoyed a whirlwind of amazing conversations with everyone from Interop founder (and now winemaker) Dan Lynch to rock-star blogger Joi Ito that extended late into the night. The best thing about the FIRE conference is that everyone here is brilliant—I was easily the dimmest bulb on the tree.
No letup on Day Two: By the end, I felt sort of like the Grinch after Christmas, because my head grew three sizes that day. The day started off with a fascinating discussion with Rick Rashid, senior vice president of research at Microsoft.
The discussion started with a focus on security. "Weve done a lot on the security side," Rashid said in response to a question about Longhorn. Rashid then pushed the problem down to the PC vendors, saying, "Ultimately, if you really want to believe the system is secure, it has to start with the hardware. A lot of [security] technology came out of my research group, and were working with hardware manufacturers to get it to the marketplace."
What is exciting Rashid over the next five years? As a former programmer, he focused first on how software development will change. "The next five years are going to revolutionize how people think about writing software," he promised.
"We have begun to develop techniques that allow us to prove properties of very large pieces of code. It is now possible to literally prove thousands of line of C, C++, and if they have that property or not."
This will change how programs are both specified and tested. "Before, you could say specs are great, its a hygienic thing, it makes the code better. But now it is something we can test for to prove if something is true or false." In other words, the specification becomes an integral part of proving whether a program works or not.
On the testing side, Rashid characterized the QA (quality assurance) department today as antagonistic to programmers. "Testing was a spy versus spy thing," he said. "He is trying to prove that you are stupid" by finding bugs in your code.
But with these new techniques, Rashid predicted that "the process of software development will be much more tool-focused, much more specification-focused, and much less dependent on a developer believing he or she did a good job." Application development will move from "software as an art form to software as engineering."
Microsoft is already applying these techniques. "Now the Windows team is hiring PhD mathematics into the test group. Its not a job of figuring out how dumb the programmers are but a job of building models."