Microsoft: Making Programming Easier

Officials within Microsoft's software unit outline key trends that the company is trying to address, including integrating markup and imperative languages.

REDMOND, Wash. -- A primary target for Microsoft's developer division is the elusive goal of simplifying programming.

Jason Zander, general manager of the Microsoft Visual Studio tool set, spoke at the Lang.NET Symposium Jan. 28, noting that making programming easier is number one among the key trends he sees in the industry, and that Microsoft is working on it.

Zander said he and other speakers at the show would address many of the hot issues developers face today. A key issue is deciding whether to "go for reach or a rich environment," he said.

Making Web programming easier is another goal, as is the integration of query logic, which Microsoft is providing with its LINQ (Language Integrated Query) technology. Yet another trend Zander said he sees is easing the integration of markup and imperative languages.

Developers also are concerned about support for parallel computing advances.

"There's been a lot of research over the last 20 some years and the question for us is how we're going to make that [programming for parallel environments] easier," Zander said. "Computer science is one of those fields where you can see what's going to be cool by looking back 20 to 30 years."

Meanwhile, Anders Hejlsberg, a Microsoft fellow and lead on the C# development effort, said the C# project started nine years ago this month and is now at version 3.0. Version 1.0 of C# was all about "getting the world to managed code," he said.

C# 3.0 "was our first real chance to step back and look at language evolution," Hejlsberg said. He said the biggest feature in C# 3.0 is LINQ.

C# 3.0 features include local variable type inference, lambda expression and expression type, extension methods query expression, automatic properties and anonymous types, Hejlsberg said.

Zander said the goals of the CLR (Common Language Runtime) included modernizing Microsoft's programming interfaces, creating a consistent programming interface across the board to "stop building tons of duplicated runtime functionality" and forms packages, to allow developers to use all their skills orthogonal to language choice, and to improve productivity.

He also showed a memo from 1998 displaying a work item list that included adding features such as integer and float support, a just-in-time compiler, multi-threading, loader support for multiple DLL and support for calling native code.