Microsoft's top developers prefer old-school coding methods
- 27 November, 2009 22:25
- Comments
Microsoft 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.
Join the CIO Australia group on LinkedIn. The group is open to CIOs, IT Directors, COOs, CTOs and senior IT managers.
- Bookmark this page
- Share this article
- Got more on this story? Email CIO
- Follow CIO on twitter
- Don Box: Distinguished Engineer
- Jeffrey Snover: Distinguished Engineer
- PowerShell Tips and Tricks
- Butler W. Lampson
- Butler Lampson - Systems
- Sidebar: Waiting for UML 2.0
- Visual Studio 2010 Beta 1 shows some leg
- Opinion: Silverlight helps bring streaming video to Olympics Web site
- Microsoft, Borland: We're friends
- Project Natal: amazing Xbox 360 controller-free gaming at E3 - Computerworld Blogs
- About « Sutter’s Mill
- Beyond Dual Core: 2007 Desktop CPU Road Map
- Burton J. Smith: Technical Fellow
-
Monday Grok: Will Siri crack the walls of GOOG?
-
Face Time - Interview with John Brennan and Robert DiStefano
-
Face Time - Interview with John Brennan and Robert DiStefano
-
Phones are distractions during catch-ups
-
Google's Sidewiki lets people post comments about Web pages
-
Best Practices for Implementing a Data Warehouse on the Oracle Exadata Database Machine
Increasingly companies are recognizing the value of an enterprise data warehouse (EDW). A true EDW provides a single 360-degree view of the business and a powerful platform for a wide spectrum of business intelligence tasks ranging from predictive analysis to near real-time strategic and tactical decision support throughout the organization. Ensuring the EDW will get the desired performance and will scale out as your data grows you need to get three fundamental things correct, the hardware configuration, the physical data model and the data loading process. Read on. -
Three simple steps to better patch security
It’s estimated that 90% of successful attacks against software vulnerabilities could be prevented with an existing patch or configuration setting. Yet patching is a persistent challenge for IT managers. With the glut of patches released each year, how do you know which ones are truly critical security patches and which ones aren’t? And how can you identify which computers are actually missing the patches they need? This paper details a simple approach to patching that gives you better visibility into and control over patch assessment and compliance. -
Best practices for implementing 2048-bit SSL
Secure sockets layer (SSL) technology continues to be essential to the growth of the web. With unabated increases in ecommerce traffic along with transmission of personal information, SSL is no longer just a nice to have capability; it is an absolute necessity. The requirement to protect information is further heightened by the universal availability of easy-touse hacking tools such as Firesheep. Read on.
-
MYOB Software for Dummies 6E Australian Edition
-
Windows 7 for Dummies®
-
Office 2007 All-In-One Desk Reference for Dummies
-
Windows 7 for Dummies® Dvd+book Bundle
-
Windows 7 for Seniors for Dummies®
-
Computers for Seniors for Dummies, 2nd Edition
-
Excel 2007 All-In-One Desk Reference for Dummies
-
Teach Yourself Visually Windows 7
-
Microsoft Office








Comments
Post new comment