Microsoft Phasing in Support for Dynamic Languages on .Net

Microsoft is working on a phased approach to enhancing its support for dynamic languages on the company’s .Net platform.

Jim Hugunin, creator of the IronPython language and a development leader on Microsoft’s CLR (Common Language Runtime) team, told eWEEK that Microsoft is working to help usher in support for dynamic languages on top of the CLR in a variety of levels or phases.

At the lowest level, Microsoft will be building additional support for dynamic languages into the overall .Net plumbing, Hugunin said. A level up from there, Microsoft will instantiate successful software patterns and practices into code that developers can call on from libraries to help them build applications using dynamic languages on the .Net Framework.

And a level up from the libraries, Microsoft will offer lessons learned, based primarily on its work with IronPython, the company’s implementation of the Python programming language running on .Net.

IronPython reached Release Candidate 1 status on July 26, and barring any problems, the technology will be released as a 1.0 version in a week or more, Hugunin said. IronPython officially releases every three weeks, but as the code is hosted on Microsoft’s CodePlex community development Web site, interested developers can gain access to new drops of code on an almost daily basis, he said.

Click here to read more about the release candidate for IronPython 1.0.

Microsoft is taking measures to enhance its development platform’s support for dynamic languages as developer demand for, and use of, the languages such as Python, PHP, Perl, Ruby and others continues to grow. Both Microsoft and Sun Microsystems—and the Java community—realize the growing need to support dynamic languages on their platforms.

In fact, dynamic languages dominated the conversation at the recent Lang.Net 2006 Symposium held July 31 through Aug. 2 on Microsoft’s Redmond, Wash., campus. Hugunin spoke with eWEEK at the event.

“As I think about where we go beyond IronPython, what we really want to do next is try to generalize what we’ve learned,” Hugunin said.

For instance, Hugunin said, he has spent a lot of time talking to Microsoft’s Visual Basic team and to the Windows PowerShell team. PowerShell is a relatively new shell scripting language, formerly known by the code name Monad, which people can use instead of command.com, he said.

“And their rules aren’t very different from ours,” he said. “So if we could combine the best of what everybody’s learned and tell people, ‘Here is how you do it,’ then Ruby becomes easy.”

Moreover, Hugunin explained the hierarchical approach he sees Microsoft bringing to dynamic language support.

“There is stuff that will make it into the CLR, and that will be the stuff we know best,” he said.

Indeed, an example of the kinds of dynamic language support Microsoft put into .Net 2.0 “is dynamic methods, which is a general-purpose feature that people can build a lot of things on top of,” he said.

Read the full story on eWEEK.com: Microsoft Phasing in Support for Dynamic Languages on .Net