ironpython combines the best of python and net python and
play

IronPython combines the best of Python and .NET. Python and .NET. - PowerPoint PPT Presentation

Microsoft: IronRuby, IronPython and the Dynamic Language Runtime IronPython combines the best of Python and .NET. Python and .NET. Nick Hodge Professional Geek, Microsoft Australia @nickhodge nhodge@microsoft.com HAI HAI CAN HAS STDIO?


  1. Microsoft: IronRuby, IronPython and the Dynamic Language Runtime IronPython combines the best of Python and .NET. Python and .NET. Nick Hodge Professional Geek, Microsoft Australia @nickhodge nhodge@microsoft.com

  2. HAI HAI CAN HAS STDIO? VISIBLE "HAI WORLD!" KTHXBYE

  3. Dynamic languages • Love ‘em or Hate ‘em People are Using ‘em • History – Visual Basic; implemented as Classic .asp • Language / Framework tie in • Language / Framework tie in – PHP (Wordpress) – Ruby (Rails, Merb) – Javascript (DOM/Browser to jQuery et al )

  4. The {C|D}LR Dynamic Dynamic Statement Statement Call Site Call Site .NET 4.0 DLR Dispatch Dispatch Trees Trees Caching Caching Joel Expression Expression Extension Extension .NET 3.5 LINQ Silverlight Trees Trees Methods Methods Pobar Fast Fast Generics Generics Dynamic Dynamic .NET 2.0 .NET 2.0 Delegates Delegates Delegates In Runtime Methods JIT GC Reflection .NET 1.0 Verifier Verifier Dynamic Dynamic BCL Sandbox Codegen

  5. The Stack IronPython IronRuby Boo, et al Dynamic Language Runtime (DLR) CoreCLR .NET 2.0 (CLR) Silverlight 2.0 Windows Mac

  6. Cats and Dogs Living Together

  7. Open Source = Consequences MsPL IronPython IronRuby Dynamic Language Runtime (DLR) Moonlight2CoreCLR Moonlight2CoreCLR ECMA 334/335 CLI (eg: Mono) Moonlight Open Source Firefox ( et al ) Linux ( et al )

  8. Why Iron*?

  9. Inspiration • How could Microsoft have screwed up so badly that the CLR is far worse than the JVM for dynamic languages? – Jython shows that dynamic languages can run well on the JVM • Jim Hugunin decided to write a short pithy paper called, “Why .NET is a terrible platform for dynamic languages” – 2003 • 2007 : John Lam (.NET � MRI)

  10. Dynamic Language Runtime • Abstracted framework for implementing a dynamic language on .NET/CLR • Back-end compilers • Dynamic operations on Objects • Common Hosting of Languages • Building your own language with DLR + ANTLR3 – http://www.bitwisemag.com/2/DLR-Build-Your-Own-Language – Dermot Hogan. My tiny mind has assploded • Check out: Irony : Script.NET, Lua – http://codeplex.com/irony

  11. It’s on Codeplex • IronPython, IronRuby – http://codeplex.com/ironpython – http://ironruby.net/ • Codeplex == TFS “in the cloud” ☺ • Core V1 components – Trees, Sites, Binders • Core V1 components – Trees, Sites, Binders – Will ship in .NET Framework 4.0 – Will ship in .NET Framework 4.0 – Basis for C# 4.0’s dynamic • Future pieces are also available today – Microsoft.Scripting.dll • http://langnetsymposium.com/2009/talks.aspx • (IronRuby is in github)

  12. Language Specifications • Ruby – Notorious for no formal specification – RubySpec: now used by MRI, JRuby, IronRuby… • Python • Python – New movement in recent 6 weeks

  13. Languages on the DLR • Groovy (yes, Java scripting!) • Nua (Lua) • IronScheme • Phalanger (PHP on CLR/DLR) • Basic Basic and Basic Javascript (egs)

  14. IronPython Roadmap IPy 1.0 IPy 1.1 IPy 2.0 IPy 2.6 IPy 3.0 •Shipped •Shipped •Current Focus •Alpha Released •In Planning Sept. 2006 April 2007 •Fall 2008 •H1 2009 •H2 2009 ? •v2.4 language •Limited v2.5 •v2.5 language •v2.6 language •Python 3000 compatibility language compatibility compatibility language compatibility compatibility language features features •27/54 built-in compatibility •Built on DLR •Productize VS modules •More Modules integration •Support for next •More modules •Top user issues version of VS •Top User Issues •VS Integration (VSX sample)

  15. IronRuby Roadmap IronRuby 0.3 IronRuby 1.0 • Now • Now • Targetting • Targetting mid ’09 • Ruby on Rails http://ironruby.net/

  16. Microsoft: IronRuby, IronPython and the Dynamic Language Runtime IronPython combines the best of Python and .NET. Python and .NET. Nick Hodge Professional Geek, Microsoft Australia @nickhodge nhodge@microsoft.com

Recommend


More recommend