IronRuby
Developed by Microsoft Dynamic Language Runtime Team
Preview release IronRuby Alpha 2 / November 19, 2008
OS Cross-platform
Platform .NET and Mono
Type Ruby Programming Language Compiler[1] [2]
License Microsoft Public License
Website IronRuby Source

IronRuby is an upcoming implementation of the Ruby programming language targeting Microsoft .NET framework. It is implemented on top of the Dynamic Language Runtime, a library running on top of CLR 2.0 that provides dynamic typing and dynamic method dispatch, among others, for dynamic languages.[citation needed]

Contents

History

On April 30, 2007, at MIX 2007, Microsoft announced IronRuby, which uses the same name as Wilco Bauwer's IronRuby project with permission.[3] It was planned to be released to the public at OSCON 2007.[4]

On July 23, 2007, as promised, John Lam[1] and the DLR Design Team presented the pre-Alpha version of the IronRuby compiler at OSCON. He also announced a quick timeline for further integration of IronRuby into the open source community.[5]

On August 31, 2007, John Lam and the DLR Design Team released the code in its pre-alpha stage on RubyForge.[6] The source code has continued to be updated regularly by the core Microsoft team (but not for every check-in). The team also does not accept community contributions for the core Dynamic Language Runtime library, at least for now.[7].

On July 24, 2008, the IronRuby team released the first binary alpha version, in line with OSCON 2008[8]. On November 19, 2008, they released a second Alpha version.

The team is actively working to support Rails on IronRuby.[9][10] Some Rails functional tests start to run, but a lot of work still needs to be done to be able to run Rails in a production environment.[11].

Mono support

IronRuby may run on Mono 1.9 as it does on Microsoft Common Language Runtime (CLR), but as the IronRuby team only test it with the CLR on Windows[12], it does not build on Mono for the moment[13],and getting it to run on Mono can be problematic[14].

.NET interoperability

IronRuby classes and regular .NET Framework classes interoperability is very limited for the moment, because many Ruby classes are not .NET classes[15]. However, better support for dynamic languages in .NET 4.0 may increase interoperability in the future[16].

License

IronRuby is released under the Microsoft Public License, which is OSI-certified and close to a BSD-style license.[17]

See also

References

  1. ^ S. Somasegar. "Early look at IronRuby". http://blogs.msdn.com/somasegar/archive/2007/07/23/early-look-at-ironruby.aspx. Retrieved on 2007-07-25. 
  2. ^ "RubyForge: IronRuby: Project Info". http://rubyforge.org/projects/ironruby/. Retrieved on 2007-09-07. 
  3. ^ Wilco Bauwer. "Microsoft's Iron Ruby". http://www.wilcob.com/Wilco/IronRuby/microsoft_ironruby.aspx. Retrieved on 2007-07-24. 
  4. ^ John Lam. "Microsoft and IronRuby". http://www.iunknown.com/2007/05/microsoft_and_i.html. Retrieved on 2007-06-18. 
  5. ^ John Lam. "A First Look at IronRuby". http://www.iunknown.com/2007/07/a-first-look-at.html. Retrieved on 2007-07-23. 
  6. ^ Lam, John. "IronRuby on Rubyforge!". http://www.iunknown.com/2007/08/ironruby-on-rub.html. Retrieved on 2007-08-31. "Today, you must check the source code out of the IronRuby Subversion repository on Rubyforge. You will need a Subversion client; we recommend TortoiseSVN. To build the sources from the command line, you must also have Ruby installed on your computer already" 
  7. ^ Lam, John (2008-04-29). "Regarding IronRuby... How true it sounds from this blog". http://rubyforge.org/pipermail/ironruby-core/2008-April/001507.html. Retrieved on 2008-05-25. "The DLR is does not accept contributions from the community (...) Today we do not push to SVN on every successful SNAP check-in" 
  8. ^ Lam, John (2008-07-24). "IronRuby at OSCON". http://www.iunknown.com/2008/07/ironruby-at-oscon.html. Retrieved on 2008-08-04. "We’re shipping our first binary release. In this package, we’re taking a “batteries included” approach and shipping the Ruby standard libraries in it" 
  9. ^ "IronRuby on Rails". http://en.oreilly.com/rails2008/public/schedule/detail/2056. Retrieved on 2008-05-25. 
  10. ^ Lam, John (2008-05-24). "IronRuby r112 is out". http://rubyforge.org/pipermail/ironruby-core/2008-May/001911.html. Retrieved on 2008-05-25. 
  11. ^ Lam, John (2008-05-25). "IronRuby / Rails Question". http://rubyforge.org/pipermail/ironruby-core/2008-May/001909.html. Retrieved on 2008-05-25. "I don't think we're near the end game yet :) We're barely able to run Rails functional tests now, and there's a lot more library work to be done before we can start thinking about deployment" 
  12. ^ Sanghyeon, Seo (2008-08-06). "IronRuby and Mono". http://rubyforge.org/pipermail/ironruby-core/2008-August/002553.html. Retrieved on 2008-09-13. 
  13. ^ Vander Schelden, Wim (2008-09-04). "IronRuby and Mono". http://rubyforge.org/pipermail/ironruby-core/2008-September/002787.html. Retrieved on 2008-09-13. 
  14. ^ Cangiano, Antonio (2008-12-12). "The Great Ruby Shootout (December 2008)". http://antoniocangiano.com/2008/12/09/the-great-ruby-shootout-december-2008/. Retrieved on 2008-12-14. "IronRuby on Mono was not tested because I couldn’t get it to work on my machine, despite having tried several IronRuby versions and two different Mono versions." 
  15. ^ Hagenlocher, Curt (2008-12-16). "Xna+IronRuby+RubyNewb=headache". http://rubyforge.org/pipermail/ironruby-core/2008-December/003390.html. Retrieved on 2008-12-20. 
  16. ^ Brotherus, Robert (2008-12-12). "WPF databinding with ruby objects". http://rubyforge.org/pipermail/ironruby-core/2008-December/003378.html. Retrieved on 2008-12-13. 
  17. ^ "IronRuby - A fast, compliant Ruby powered by .NET". 2007-09-06. http://ironruby.rubyforge.org/. Retrieved on 2007-09-06. "IronRuby heavily leverages Microsoft's Dynamic Language Runtime, and both are released with full source code under the Microsoft Public License." 

External links


No comments have been added.



Your name:

City:

Country:

Your comments:

Security check *
(Please enter the number into adjoining box)