| IronRuby Presages Dynamic .NET |
| Aug. 20, 2007 |
|
A prerelease version of IronRuby, Microsoft's .NET implementation of the popular Ruby programming language, is now available. Ruby is an open source programming language that is most often combined with Rails, a framework for building Web applications. The combination, called Ruby on Rails, is particularly popular with developers using the Apache Web server, although it also works with Microsoft's Internet Information Services (IIS). The work Microsoft has done for Ruby will also help the .NET Framework support other popular programming languages. IronRuby is an implementation of Ruby designed for the .NET Framework. Ruby is one of several increasingly popular dynamic languages, which perform some operations at runtime that other languages perform only during compilation. For example, with languages such as C#, the complete set of functions that an object can perform is fixed when the program is compiled, and it is an error for a program to attempt to call a function that isn't defined. With dynamic languages such as Ruby, definitions can be altered while the program is running. However, there is no strict definition of what features make a language dynamic, and some languages blur the distinction by combing dynamic features with traditional programming languages. Because the .NET Common Language Runtime (CLR) was initially designed to support more traditional programming languages such as C++, VB, and C#, it lacks some capabilities required by dynamic languages. To help make languages such as Ruby possible on the CLR, Microsoft is also developing an add-on to the CLR, called the Dynamic Language Runtime (DLR), which provides a set of capabilities commonly required by dynamic languages. The addition of the DLR should help increase the number of dynamic languages that can run on the .NET Framework. Microsoft already provides an implementation of the dynamic language Python (called IronPython) and has plans to produce a dynamic version of Visual Basic (VB), code-named VBx. Details on VBx are not yet available, but it isn't expected to ship until after Visual Studio 2008, which is expected at the end of 2007. The source code for both the compiler and the core libraries of IronRuby is being released under the Microsoft Permissive License (Ms-Pl), one of the company's shared source licensing programs. However, unlike previous source-code releases, which Microsoft shared with developers without accepting contributions or changes, Microsoft is accepting source-code contributions to the IronRuby libraries. The company indicated it eventally hopes to accept contributions for the compiler as well, but because the API for the DLR is still being defined, it would be premature to accept contributions for the compiler at this time. The IronRuby source code can be downloaded from the Web site of John Lam, its primary developer, at iunknown.typepad.com/IronRuby-Pre-Alpha1.zip. The Microsoft Permissive License is described in "Shared Source Licensing Simplified" on page 32 of the Dec. 2005 Update. |