blowmage A Mike Moore joint

Ruby.NET Beta Announced

They guys at Queensland University of Technology announced the public beta of their Gardens Point .NET Ruby compiler yesterday. Not only will it interpret and run Ruby files, but it will compile to .NET executables and assemblies as well. I got it to run on .NET 2.0 on WinXP SP2 and Mono 2.0 on Ubuntu (both running in Parallels on my MacBook Pro). I didn't get it to run on OS X, but that is more to with the lack of an Intel version of Mono for OS X. (Meaning I didn't try too hard to get it working on OS X.)

I skimmed through the Ruby.NET source code last night and I have to say I'm impressed. I’m particularly excited about Ruby.NET because I trotted down the path of building a .NET version of Ruby and have a good idea how challenging it was to get this far. I looked at arton's older NetRuby effort code that was essentially a straight port of Ruby 1.6's C code to C#. I looked at what IronPython does to take advantage of the 2.0 CLR. I was at Charles Nutter’s RubyConf 2005 presentation and familiarized myself with what his team has done with JRuby. After starting development on my own C#/.NET version of Ruby I found that I didn't have the time to devote to such an effort. I’m very glad there is a viable solution now. I hope the .NET and Ruby communities rally around this effort.

I can't wait to see if we can get Ruby to play nice Avalon/WPF like Chris Anderson has done with IronPython in AvPad. Perhaps we can someday (sooner rather than later) get a Ruby on Rails project fully compiled to an ASP.NET assembly and running on IIS? But what I'm probably most excited for is to be able to create DSLs using Ruby and use them in the .NET applications I write at work.

Now all we need is for an effort like Steel or Wilco’s IronRuby Visual Studio integration to properly use Ruby.NET within Visual Studio 2005. Then we've got our first class IDE support and all those naysayers who complain that Ruby will never see wide-spread corporate adoption can respectfully stick it.:)