Skip the navigation
News

Microsoft's top developers prefer old-school coding methods

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

By Eric Lai
November 27, 2009 06:00 AM ET

Computerworld - 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.

"I will fight you if you try to take away my text editor," said Don Box, a Microsoft distinguished engineer.

"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.

Microsoft is belatedly increasing support for the Unified Modeling Language, or UML, in the upcoming Visual Studio 2010 release that's slated to ship next year.

Besides visual programming tools and UML, Microsoft is pushing managed code through its Common Language Runtime (CLR) technology in the next version of the tool set.

Managed code runs inside a virtual machine. That makes it easier and faster to write, and more secure, say proponents. Managed code also lets developers "perform above their level of competence," Snover said.

"Managed code is like antilock brakes," he added. "You used to have to be a good driver on ice or you would die. Now you don't have to pump your brakes anymore."

Snover joked that programming is getting so abstract, developers will soon have to use Microsoft's in-air motion sensor game controller for the Xbox, dubbed Project Natal, to "write programs through interpretative dance."

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.

Read more about App Development in Computerworld's App Development Topic Center.



Microsoft developers

Additional Resources
The 2009 Handbook of Application Delivery
WHITE PAPER
Ensuring acceptable application delivery will become even more difficult over the next few years. As a result, IT organizations need to ensure that the approach that they take to resolving the current application delivery challenges can scale to support the emerging challenges. This handbook elaborates on the key tasks associated with planning, optimization, management and control and provides decision criteria to help IT organizations choose appropriate solutions.
How to Cut Software Management Costs and Avoid Over-Spending
WEBCAST
Live Webcast Event: June 9, 2010
Time: 1:00 PM EDT / 11:00 AM PDT
Did you know that companies spend an average of 30% more on software licenses and maintenance than they need to? It's not that surprising when you consider the challenges that IT executives face as they struggle to manage software across their organizations. Poor visibility into remote assets, an inability to ensure the security of PCs, and failing to deliver satisfactory service to end users on a consistent and cost-effective basis are a few of the challenges. Attend this webcast to learn more!
How To Boost Your Bottom Line in Today's Business Climate
WHITE PAPER
In conjunction with Google Enterprise Search, the Google Search Appliance (GSA) can dramatically reduce your organization's total cost of ownership (TCO). By providing search solutions that are deployed on-premise all at one price, GSA can simplify matters and keep costs low. Read this white paper.
What People Are Saying
App Development White Papers
Best Practices for Converting from Lotus Notes/Domino® to Google Apps
This whitepaper takes a detailed look at the ins and outs of converting from Lotus Notes to Google Apps.
Moving from Solaris to Red Hat Enterprise Linux: A Quick Start Guide for Application Developers
This paper looks to highlight some of the major differences between Solaris and Red Hat Enterprise Linux to help application developers port their...
Accelerating Time to Market: Application Development and Test in the Cloud
Read More
TDWI Checklist: Data Requirements for Advanced Analytics
Get this now!
Business Analytics in Action
Get this now!
All App Development White Papers
App Development Webcasts
Smarter Development Environments: A Conversation with Grady Booch
Learn more today!
Driving product strategy from the top-down: How to align business objectives with technical objectives
Learn more >>
Three IT Strategies to Cut Cost Intelligently
Register for this Webcast! Provided by BMC Software.
Modernize Your Infrastructure
In this session, HP and Red Hat speakers will explain how to prepare for and execute an effective migration from SPARC/Solaris OS-based systems...
Business Analytics: The Stealth Strategic Asset
Business Analytics can be your high-performance secret weapon. But how do you get from spreadsheets to optimized BA? In this webcast, you¿ll learn...
All App Development Webcasts

View this site, where you'll find news, trend articles and lots of resources - including whitepapers and customer success stories - to help your organization become a Master of BA.

IT Jobs