Panel of Microsoft distinguished engineers offers views on the state of programming

Microsoft Corp. has done more to popularize graphical programming than any other vendor. The company's development tools, led by Visual Basic and Visual Studio, have been used by millions of software developers over the past two decades.

But during a revealing and often humorous panel discussion on the future of programming at last week's Professional Developers Conference in Los Angeles, Microsoft's own superstar developers espoused their loyalty to old-school methods of coding software.

"Do people want to draw pictures [to program]? Sure, I guess," continued Box, who works on creating declarative languages and tools for Microsoft. "But if you grew up programming when I did, you did it in text. And I think we lose that at our peril."

"Graphical programming environments are usable when they are useless, but unusable when they would be useful," said Jeffrey Snover, another Microsoft distinguished engineer and creator of Microsoft's PowerShell scripting tool for Windows. "When there are five things on the screen, you can burp that out [in text]. But when there are 500 things, [graphical programming] is completely unusable. You zoom in and zoom out and you lose all context. I think it's just smokin' dope."

While visual programming can be easier to learn and can help make developers more productive, it's also "easier to delude yourself," said Butler Lampson, a technical fellow at Microsoft. For instance, "no one can ever tell you what a UML diagram means."

Lampson, winner of the Association for Computing Machinery's A.M. Turing Award in 1992 for his "contributions to personal computing and computer science," is a co-creator of nine programming languages.

Other programming gurus, such as Herb Sutter, lead designer of Microsoft's C++/CLI programming language, predict that writing code to run on bare metal may come back into fashion, as chip makers find themselves unable to keep boosting processor speeds at current rates.

"I think we have maybe five to 10 years left [with Moore's Law]," he said. "Optimizations will get very, very sexy again, when people realize how we pay for abstractions."

Also, Sutter said, programmers need to start writing apps optimized for parallelized, multicore PCs, which have been available for the past several years.

However, significant improvements to multicore programming languages are needed first, said Burton Smith, a Microsoft technical fellow and expert on parallel programming languages. "Today's [multicore] programming languages are pretty low level and not very productive. They take a lot of human attention and effort," Smith said.

It will be a long time before parallel programming becomes mainstream, he predicted. "Because of the bias towards sequential programming, we'll still be reinventing ourselves [as parallel programmers] 12 years from now," he said.