The first Microsoft IronRuby source code drop is upon us, albeit as ‘pre-alpha’ software. Surprisingly, the software will appear first on Ruby Forge, where developers can grok on IronRuby using Subversive.
By Jack Vaughan
There is nothing new about two or more languages running in the same environment. But the language mix is still quite often subject to general notions about what it is politically correct to mix. No matter. The momentum behind the Ruby language has proved to be quite significant, and it is being used by developers in both the Java and .NET camps.
A number of individuals have driven Ruby momentum in the Java sphere. Among these is Charles Nutter, who recently discussed JRuby support in Netbeans 6.0 on TheServerSide.com. One of the key individuals driving Ruby on the .NET side is John Lam. This week, at OSCON in Portland, Lam is discussing the latest iteration of Microsoft’s IronRuby implementation.
Lam worked independently on a .NET-Ruby bridge, and then joined Microsoft late last year. His recent blog entries indicate that the first IronRuby source code drop - albeit ‘pre-alpha’ in nature - is ready; that the group intends to place IronRuby on the RubyForge open-source development site by the end of August; and that the software will be available under the Microsoft Permissive License.
Ruby is a dynamic language to date closely associated with Ruby for Rails, a framework aimed at Web application development. Its declarative capabilities poise it as a natural new tool kit member in world that has become quite full of full-blooded static languages.
Ruby’s sudden popularity seems reason enough to take interest – still, we asked Lam what specific values the language offered. He said he thought it was a real contender as a mainstream language. Its most particular use is as a ‘domain-specific language,’ in his words.
Said Lam: “You write your DSL and in effect you add features to Ruby. Two great samples are Rails, which is a DSL for building Web applications on Ruby, and Rake, or Ruby Make, which is for builds, scripts, and configuration scripts for other software. Rake is another DSL that is on Ruby, and it works like Ant or Nant.”
Clearly, if Ruby becomes entrenched in both the .NET and Java worlds, there will be some cross over of developer skills and expertise. But Lam does not encourage the conclusion that there is a special interoperability solution brewing here.
Working on a platform means knowing libraries running on different platforms, Lam says, not just knowing “Language A.”
But corporate managers, he agrees, will be more ready to support Ruby efforts if they see it running on mainstream platforms like Java and .NET.
To encourage contributions to IronPython as an open-source effort, the source code is being made available on the RubyForge site using long-standing Subversion versioning software, rather than the more recent Microsoft TFS versioning alternative. “I wanted to make it as easy as possible for folks to contribute to, so Rubyforge was the natural choice here, Lam commented on his blog. [Lam is a lion - he comments that he will ‘take full responsibility for this decision if it doesn’t work’!]
“We use TFS internally,” said Lam. “But it is my feeling that there are lots of people that would like to contribute that already know Subversion.”
“We really wan to run this thing as a project where the community can be involve,” said Lam. “But we have to be clear about IP [intellectual property]. “ For now, community contributions will be limited to the library side of things.
Work to finish the IronRuby compiler that will run on the Microsoft .NET Dynamic Language Runtime is still underway. In effect, intended as a Microsoft commercial effort, the DLR is being shielded from contributions that could jeopardize its commercial prospects.
Still, the use of the Microsoft Permissive License is notable here. Mono advocate Miquel de Icaza recently wrote that it is “by all intents and purposes” and open-source license.
OSCON - Conference Site
Charles Nutter on the JRuby Project - TSS.com
Ruby at TechEd 2006 -TSS.NET
A first look at IronRuby - John Lam blog
IronRuby released - Miguel de Icaza’s web log