What are hot buttons for Microsoft on the programming-language futures front?
Several well-known Microsoft engineers, plus programming-language gurus from other companies, are convening on the company's Redmond campus this week for its second Lang.Net symposium. The three-day conference is all about the future of "programming languages, managed execution environments, compilers, multi-language libraries, and integrated development environments."
I'm sitting in on a number of the sessions here. So far, the Softies who've presented are focusing on what's currently available far more than on what's coming. Alas, no Visual Studio 10 mentions; no .Net Framework 4.0 mentions.... Just lots of coding demos and Q&A about programming techniques.
There were a few hints regarding into which baskets Microsoft is putting its programming eggs. Jason Zander, general manager of Microsoft's Visual Studio team, listed a few trends that the Softies are monitoring -- and participating in. Among them:
- Integrating query logic with existing tools, like what Microsoft is doing with Language Integrated Query (LINQ), a feature of Visual Studio 2008.
- Integrating markup and imperative logic.
- Taking advantage of parallel-computing advances, via new programming computing tools like PLINQ/ parallel extensions to the .Net Framework.
Anders Hejlsberg, a Microsoft technical fellow who is the father of the Microsoft C# language, emphasized during his talk that the existing taxonomies of programming languages are starting to break down. Static languages are starting to include more and more dynamic-language features -- and vice versa, Hejlsberg said.
Hejlsberg said he is "very keen to exploit the dynamic features that are missing in C#." He also hinted that Microsoft will be doing more to help programmers automate concurrent programming. As he described it: We "need more solutions to capture the concurrency white-elephant in the room."
Microsoft isn't calling for -- or expecting -- the influence of dynamic languages and static languages on one another resulting in fewer, more homogeneous languages, said another Lang.Net presenter, Jim Hugunin.
Hugunin, the Microsoft developer of the Iron Python programming language, emphasized that the Microsoft Dynamic Language Runtime (DLR), a set of services running on top of the .Net Framework's Common Language Runtime (CLR), which are optimized for dynamic programming languages, is not designed to reduce the number of languages. Instead, Microsoft is aiming to make the DLR (due to move from alpha to beta in the next couple of months) a set of shared services of which any dynamic language creator could take advantage.
Hugunin emphasized the fact that developers will be able to write Silverlight code and applications with IronPython and other dynamic languages. Silverlight, which is Microsoft's browser plug-in for delivering rich media that competes with Adobe's Flash, allows developers to run "my language in the browser," Hugunin said.
"You can edit your XAML, execute and run Python code," he said. "You don't need to worry about your engine being secure because you can take advantage of the (existing) security sandbox."
What kinds of things are you watching for from Microsoft on the Web-dev tool, parallel-programming tool and dynamic-language fronts in 2008?