Microsoft has made good on its promise to better host dynamic languages on its Common Language Runtime. Indeed, the company went a step further and delivered a whole new platform for supporting dynamic languages: the DLR (Dynamic Language Runtime).
Its not just the DLR concept thats cool, but also the underlying shared type system that enables different dynamic languages essentially to talk to each other and use common components. You had to wonder what Microsoft had cooking in that department, particularly after hiring John Lam, an expert in the Ruby language and developer of the creator of the RubyCLR bridge between the Ruby language and the Microsoft CLR.
This hiring came only months after Lam told me he admired the work Microsoft was doing in the area of dynamic languages, but that working for the software giant was logistically difficult as he was a native Canadian and was reluctant to uproot his family.
But uproot he did and now Microsoft has an implementation of Ruby running on its DLR, which is a software layer that runs atop the companys CLR, said Jim Hugunin, a development lead on the Microsoft CLR team and the man behind the DLR idea.
Ruby support on DLR is a major deal for the dynamic language community. Yet an even greater deal would be support for the popular Ruby on Rails framework, many said.
Meanwhile, Hugunin said he came to Microsoft in 2004 to make the CLR a better platform for dynamic languages. His vision set the stage for the DLR. In fact, Hugunin spoke with eWEEK back in August at Microsofts Lang.Net symposium, where he laid out Microsofts strategy to take lessons learned from delivering Hugunins own IronPython implementation of the Python language onto the .Net platform and using those to ease the implementation of other dynamic languages onto the platform.
Now Microsoft not only supports Python on the new DLR, but also JavaScript, Ruby and Visual Basic, as well as C#, Lam said.
Whats next? PHP? Perl? Microsofts own PowerShell shell-scripting language? Hugunin said his team is in constant touch with the PowerShell team, but that the first round of DLR support is targeted at languages that are more likely to run in a browser.
Thats because Microsoft is using its Silverlight cross-browser, cross-platform plug-in for delivering the next generation of media experiences and RIAs (Rich Internet Applications) for the Web, as a distribution mechanism for the DLR.
“I think the Silverlight platform goes far beyond any platform weve been able to give them [developers] before,” Hugunin said.
So now, as Microsoft showed with its ASP.NET AJAX [Asynchronous JavaScript and XML] offering that it could out-AJAX AJAX—or at least many of the vendors providing AJAX toolsets, the software giant is setting out to prove that it can out-Flash Adobes Flash.
Indeed, Adobe made a move last week that many saw as a shot across the good ship Microsofts bow. Adobe announced the open-sourcing of its Flex Web development environment. A pre-emptive strike. Now Microsoft fires back with its cannons blazing, not only announcing the DLR, but making it and IronPython broadly available to the community via its CodePlex community site and using Microsofts more lenient Microsoft Permissive License as the license for the technology.