Talking Points

By Darryl K. Taft  |  Posted 2007-04-30 Email Print this article Print

The initial implementation of the DLR supports four primary languages: IronPython, JavaScript, Ruby and Visual Basic. In addition, the DLR supports C# for adding performance boosts where necessary, Lam said. "By having this shared type system and these dynamic languages using the same sets of types, you can go back and forth between them," Hugunin said. "In the long run, things like wiring up event handlers, every language is going to have. But every language is always going to have the things that it does better. And the really cool code that somebody went out and wrote in just one language…if they could all talk to each other, you just get a lot of power as a language developer."
Hugunin said the .Net platforms sandbox security model helps to secure the DLR. "The Python implementation that were shipping is completely security transparent. What that means is all the security is in the Silverlight engine; its in the .Net engine that were running on top of... That makes it possible for a lot more languages to start running in this kind of environment, because you can build on the .Net security model."
Meanwhile, performance, which is typically an issue with dynamic languages, is not a particular concern on the DLR, Hugunin said. "I would consider performance successful if we did nothing but matched the level of the existing languages, plus provided all of this infrastructure and integration that you have," he said. "Now I wouldnt be thrilled and jumping up and down if all that we did was matched it, but at a basic level what we need to do to succeed with performance is show that you can run these languages all on a shared engine without giving up any performance." Lam spoke on the possible ramifications of the latest Microsoft moves. "I think whats really interesting about Silverlight is the fact that all this stuff, if youre building something in a dynamic language is just all text," he said. "And considering the way the Web was built using this kind of collaborative community knowledge of how to build stuff in HTML, JavaScript and CSS, much the same experience is going to happen in Silverlight, except were just going to replace some of the acronyms. Theres going to be some HTML still, but theres going to be XAML [Microsoft Extensible Application Markup Language] thrown into the mix, as well as the source code for a variety of different programming languages—be it JS [JavaScript], VB, Ruby or Python. But also the flexibility of, in certain circumstances, being able to throw some compiled C# code down there for performance reasons." "A pluggable DLR will not only bring a whole new generation of language support to .Net, it will also spur a wealth of new research opportunities, in much the same way the original .Net Framework did when it was introduced five years ago," said Robert McLaws, president of Interscape Technologies Inc. in Phoenix.
"On top of that, if Microsoft announces anything about Ruby running on the DLR, and if it runs existing Ruby code without modification, then think how powerful it would be if you combined that with the IIS7 application platform," McLaws said. "Combine dynamic languages with everything else .Net 3.0 and 3.5 has to offer, and why would you want to develop on any other platform? And if Microsoft delivers official cross-platform support, as expected, then I think Microsoft will have a home run on its hands. It will definitely overshadow the whole open-sourced Flex thing, at any rate." Microsoft is making the new technology broadly available to the community, the company said. "Were shipping both IronPython and the DLR layer, which is a layer on top of the CLR," Hugunin said. "And were shipping both of those on CodePlex under the Microsoft Permissive License, which is the BSD-style [Berkeley Software Distribution] Microsoft license. And were doing that partially to invite people to play with it, give us a lot of feedback and go do interesting things with it. So its very much in the source-available, do-with-it-what-you-want-to spirit." The Microsoft Permissive License allows for commercial modification and redistribution of source code with no royalties to Microsoft. The Microsoft Permissive License is most commonly used for developer tools, applications and components or for use with collaborative development projects where there are joint contributions from both Microsoft and external developers. Both the DLR and IronPython will be available on CodePlex, an online collaborative software development portal that is also a vehicle for sharing source code. Meanwhile, Hugunin said the DLR will be updated to support other languages, including quite possibly PowerShell, Microsofts shell scripting language. "I know its an obvious question to ask what about PowerShell," Hugunin said. "PowerShell we explicitly didnt focus on deeply for this first round, and thats because this first round is focused on Silverlight. So were focused on the languages that youd want to able to run in the browser. PowerShell has a very different focus. PowerShell is a very rich client language running locally on the machine to do anything I want to on my machine, because its a shell scripting language." At the MIX 07 event, Microsoft also is announcing the availability of the beta version of Microsoft Silverlight 1.0, to build media experiences and RIAs. And the Silverlight 1.0 beta features a go-live license, which means customers can deploy their Silverlight applications in production. Microsoft Silverlight 1.0 is scheduled to be available this summer. In addition, Microsoft is announcing the availability of an alpha version of Silverlight 1.1, which features DLR support, as well as support for ASP.NET AJAX and LINQ, the Language Integrated Query technology. Check out eWEEK.coms for the latest news, reviews and analysis in programming environments and developer tools.

Darryl K. Taft covers the development tools and developer-related issues beat from his office in Baltimore. He has more than 10 years of experience in the business and is always looking for the next scoop. Taft is a member of the Association for Computing Machinery (ACM) and was named 'one of the most active middleware reporters in the world' by The Middleware Co. He also has his own card in the 'Who's Who in Enterprise Java' deck.

Submit a Comment

Loading Comments...

Manage your Newsletters: Login   Register My Newsletters

Rocket Fuel