Close
  • Latest News
  • Artificial Intelligence
  • Big Data and Analytics
  • Cloud
  • Networking
  • Cybersecurity
  • Applications
  • IT Management
  • Storage
  • Sponsored
  • Mobile
  • Small Business
  • Development
  • Database
  • Servers
  • Android
  • Apple
  • Innovation
  • Blogs
  • PC Hardware
  • Reviews
  • Search Engines
  • Virtualization
Read Down
Sign in
Close
Welcome!Log into your account
Forgot your password?
Read Down
Password recovery
Recover your password
Close
Search
Logo
Logo
  • Latest News
  • Artificial Intelligence
  • Big Data and Analytics
  • Cloud
  • Networking
  • Cybersecurity
  • Applications
  • IT Management
  • Storage
  • Sponsored
  • Mobile
  • Small Business
  • Development
  • Database
  • Servers
  • Android
  • Apple
  • Innovation
  • Blogs
  • PC Hardware
  • Reviews
  • Search Engines
  • Virtualization
More
    Home Development
    • Development

    Dynamic Languages Shine in Silverlight

    By
    Darryl K. Taft
    -
    April 30, 2007
    Share
    Facebook
    Twitter
    Linkedin

      LAS VEGAS—A “very cool story” is among the many announcements Microsoft is making at its MIX 07 conference here.

      The software giant announced its new Dynamic Language Runtime that enables dynamic languages to talk to each other and support for it on the Microsoft Silverlight platform. Microsoft is making the technology broadly available to the community via its permissive license and CodePlex community site.

      “One of the things were doing with Silverlight is, beyond having it based on .Net, were going to be shipping support for dynamic languages inside the client-side runtime,” said Brian Goldfarb, lead product manager of the Web Platform and Tools team at Microsoft. “So, basically bringing dynamic languages to the browser and doing that in a very easy-to-use way.”

      Moreover, “At the show were going to be shipping bits that let people use JavaScript and Python,” Goldfarb said. “And were going to be demo-ing Ruby in the keynote working on top of Silverlight. Its a very, very cool story.”

      The story actually started nearly three years ago, when Microsoft hired Jim Hugunin in August of 2004. Hugunin, the creator of the IronPython implementation of Python for the .Net platform, is a development leader on Microsofts CLR (Common Language Runtime) team. “I joined Microsoft with IronPython, but I joined to make the CLR a better platform for dynamic languages,” Hugunin said.

      IronPython was the start of something big, in that it represented a quality production implementation of a language. “Now that we have that one quality implementation, we started saying, Well, how can we make more languages run well on the platform and make them run even better?” Hugunin said.

      “So the idea of the DLR is to support a broad spectrum of languages building on what weve learned already, taking all the things in the CLR,” Hugunin said. “IronPython runs well in the CLR because its got great things inside it, like really excellent GC [garbage collection], JITs [just-in-time compilation], excellent type system that you can work within, debugging, profiling, sandbox security model—great features that make it easy to build a language on top of it.”

      /zimages/3/28571.gifClick here to read a Q&A with Jim Hugunin and John Lam.

      In an interview with eWEEK last August, Hugunin said that if Microsoft is able to learn from the process of implementing IronPython on the CLR then “Ruby becomes easy.” Indeed, in that interview, Hugunin said, “As I think about where we go beyond IronPython, what we really want to do next is try to generalize what weve learned.”

      Meanwhile, to help make the process of integrating Ruby onto the Microsoft platform a little easier, Microsoft hired John Lam, a Ruby guru and creator of the RubyCLR .Net to Ruby interoperability bridge, last October. Lam said he has been bootstrapping the Ruby effort and has a solid demonstrable implementation.

      However, despite being a technological coup in itself, what makes the DLR stand out in this instance is its integration with Silverlight. Silverlight is a cross-browser, cross-platform plug-in, akin to Adobe Systems Inc.s Flash, for delivering the next generation of media experiences and RIAs (Rich Internet Applications) for the Web.

      Hugunin said he anticipates broad adoption for the DLR, particularly because of its connection with Silverlight. He said that at various events and conferences, he has seen the Python community get “excited” about things like WPF (Windows Presentation Foundation) rendering APIs, XNA Game Studio APIs or Microsoft Robotics Studio APIs. But Silverlight goes further, he said.

      “They always get excited about heres this platform that you can build on top of,” Hugunin said of the Python community. “I think the Silverlight platform goes far beyond any platform weve been able to give them before. Now you can write your Python code and you can run it in any browser anywhere with an amazing set of APIs behind you. The Silverlight rendering is just great fun to play with.”

      While playing around with the platform, Hugunin said he found it surprising “how much fun it was to write in a real programming language, with all the kinds of structures that I was used to having working against a powerful set of APIs and have it run in the browser.”

      That is because “In the past, Ive tried to write code in AJAX [Asynchronous JavaScript and XML] and Ive tried to write code in Flash,” Hugunin said. “When I write code in both of those “languages” I find that theyre platforms. I find that Im writing the program in my head and then figuring out how to turn it into AJAX code. Nobody writes AJAX code directly. Everybody figures out what they want to do and then figures out how to turn that into AJAX code,” he said. However, “people do write Python code directly all the time. And Silverlight was kind of a revolutionary thing for me in that I could just be writing Python code that just said what I wanted to say and it ran in the browser, because somebody else had built a complicated platform for me.”

      So, added Hugunin, “I think the ability to do this in the browser changes the game from what we can provide and what weve been providing before with IronPython, and then there are the other languages.”

      Lam agreed, adding: “I think the browser makes it very distinctive for people to build stuff on top of, which is something that you really cant find elsewhere. So to attract users to the platform were coming out of blocks with something that is really compelling.”

      Next Page: Talking Points

      Talking Points

      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
      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.
      Get the Free Newsletter!
      Subscribe to Daily Tech Insider for top news, trends & analysis
      This email address is invalid.
      Get the Free Newsletter!
      Subscribe to Daily Tech Insider for top news, trends & analysis
      This email address is invalid.

      MOST POPULAR ARTICLES

      Latest News

      Zeus Kerravala on Networking: Multicloud, 5G, and...

      James Maguire - December 16, 2022 0
      I spoke with Zeus Kerravala, industry analyst at ZK Research, about the rapid changes in enterprise networking, as tech advances and digital transformation prompt...
      Read more
      Applications

      Datadog President Amit Agarwal on Trends in...

      James Maguire - November 11, 2022 0
      I spoke with Amit Agarwal, President of Datadog, about infrastructure observability, from current trends to key challenges to the future of this rapidly growing...
      Read more
      IT Management

      Intuit’s Nhung Ho on AI for the...

      James Maguire - May 13, 2022 0
      I spoke with Nhung Ho, Vice President of AI at Intuit, about adoption of AI in the small and medium-sized business market, and how...
      Read more
      Applications

      Kyndryl’s Nicolas Sekkaki on Handling AI and...

      James Maguire - November 9, 2022 0
      I spoke with Nicolas Sekkaki, Group Practice Leader for Applications, Data and AI at Kyndryl, about how companies can boost both their AI and...
      Read more
      Cloud

      IGEL CEO Jed Ayres on Edge and...

      James Maguire - June 14, 2022 0
      I spoke with Jed Ayres, CEO of IGEL, about the endpoint sector, and an open source OS for the cloud; we also spoke about...
      Read more
      Logo

      eWeek has the latest technology news and analysis, buying guides, and product reviews for IT professionals and technology buyers. The site’s focus is on innovative solutions and covering in-depth technical content. eWeek stays on the cutting edge of technology news and IT trends through interviews and expert analysis. Gain insight from top innovators and thought leaders in the fields of IT, business, enterprise software, startups, and more.

      Facebook
      Linkedin
      RSS
      Twitter
      Youtube

      Advertisers

      Advertise with TechnologyAdvice on eWeek and our other IT-focused platforms.

      Advertise with Us

      Menu

      • About eWeek
      • Subscribe to our Newsletter
      • Latest News

      Our Brands

      • Privacy Policy
      • Terms
      • About
      • Contact
      • Advertise
      • Sitemap
      • California – Do Not Sell My Information

      Property of TechnologyAdvice.
      © 2022 TechnologyAdvice. All Rights Reserved

      Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.

      ×