With multi-core processors becoming a preferred method for building more powerful computers, Microsoft anticipates that a key trend for the future of application development will be accommodating parallel systems.
Microsoft officials at a press event Tuesday evening in Orlando, Fla. emphasized parallel development as a focus for the future. The event was held in conjunction with the TechEd 2008 conference. Attendees at the conference offered their own perspectives not only on parallel programming but on other issues and technologies, such as the Silverlight rich Internet application platform, the Oslo modeling project, and migrating Visual Basic 6 code to .Net.
Software will be critical to leveraging parallel systems, according to Microsoft. "We're done with hardware exploitation of parallelism," said Brian Harry, Microsoft Technical Fellow.
The issue with parallel programming, Harry said, is data dependency. Multiple, independent operations work on the same data. These data dependencies become difficult to handle. "They're nearly unpredictable," he said.
As a step in parallel programming, Microsoft has devised its Parallel Extensions to the .Net Framework. This simplifies development of concurrent applications by providing library-based support for introduction of concurrency into applications written with.Net languages, such as C# and Visual Basic.NET. The extensions are available in a Community Technology Preview format.
"To me, this is a baby step that we've taken," said S. "Soma" Somasegar, corporate vice president of the Microsoft Developer Division. Programming for parallelism will need to be extended to more programmers, not just elite programmers, he said.
Parallel computing is not just for servers, Somasegar said. "There is a huge opportunity on the client as much as the server," he said. Web-based applications have performed well with current paradigms, but high-scale Web applications could benefit from parallel processing, Harry said.
An attendee at TechEd said he views parallel processing as an OS issue.
"I definitely think that we're going in that direction and that software applications will need to be able handle ubiquitously multi-core processors and be independent of the number of cores," said Aaron Sahlstrom, technical lead for the software development team at Providence Health Plan. "But I think that the operating system is going to have to handle that, not the applications."
Another attendee acknowledged Microsoft's interest in parallel programming although it was not a top priority with her company at the moment.
"It sounds like I'm going to have to be concerned about in the future if Microsoft is going that way," said Diane Reiche, manager of application services at PPG Industries.
"We don't write too many multi-threaded applications today, so I'm sure there's interest in it from a developer's standpoint. But we haven’t really delved into it as of this point," said Reiche. If PPG runs up against performance issues, it adds another server to its farm, she said.
Another attendee echoed that multi-core application development was a future concern.
"That's something we'll be looking at in the future," said Matthew Hartle, business applications project leader at Tenaris. "Obviously, you're going to get gains in the performance of your application by making use of the hardware."
At RedGear Technologies, the company expects to utilize services to help with performance. "I think what we're going to do is putting services on the Web," and do heavy-duty processing that way, said attendee Gary Mortensen, senior software engineer for RedGear.
Also at the conference, Microsoft scheduled sessions to help Visual Basic 6 users migrate their applications to Visual Basic.Net. Visual Basic 6 lacks the managed code capabilities of .Net, but there are still applications in use that are based on Visual Basic 6.
Microsoft's Dave Mendlen, director of developer tools marketing, said the company is seeing fewer and fewer Visual Basic 6 developers at TechEd. But these developers could be found at the event.
"I think [Visual Basic 6] is a huge issue still," said Matt Warner, software engineer at RedGear. From his perspective, "the industry is kind of ignoring the fact that there are many, many apps still in VB6."
"Right now, we're moving to .Net," he said. Migrating involves more than writing a user control and moving to the .Net side, said Warner.
Warner, though, likes .Net. "It's so much more powerful than VB6," offering such advantages as XML capabilities. "There's really no comparison in my mind."
Hartle is another Visual Basic 6 user who supports .Net, which he says offers tremendous benefits. "It's much easier to work with data." He said.
"In VB6, working with XML is very complicated," said Hartle. Interop objects technology is available to help migrate to .Net, he said.
Attendees also offered perspectives on the Oslo and Silverlight technologies promoted at TechEd.
"Silverlight is really, really slick, especially from a Web app perspective," Warner said. Oslo, he said, was "cool."
"I think Silverlight 1.0 was just a basic Flash implementation," Reiche said. "So it looks like you can do a lot more programming for Silverlight 2, so we'll look into that."