Microsofts new Dynamic Language Run-time (DLR) is a promising new technology that will bring many new possibilities to what it means to program in .NET. Feeling pressure from all the recent advancements in dynamic languages (Ruby, Python) which are interpreted and not compiled, adding an interpreted language feature to the Microsoft stack is valuable.
IronRuby will probably have some following, but without a “IronRuby on Rails” type of web front end misses the whole point of the recent popularity of Ruby. Ruby isn’t popular because it is a dynamic language, or even because it can do the cool things like true object-orientedness, or closures, dynamic types, dynamic dispatch and all that, these have been around for a very long time (smalltalk anyone?) Ruby is popular because David Heinemeier Hansson under 37Signals created Rails and a community driven movement has grown around Rails to amazing proportions.
Ruby on Rails is popular, as in it is a buzz-word. Compared to current percentage of Ruby on Rails applications, PHP is used much more (PHP Eats rails for breakfast), but it is as popular? I doubt it. One of the mantra’s of Rails is that it is Opinionated Software which values convention over configuration. what does that mean? It means that if you follow certain tenets built into Rails it is really easy to get up and running quickly, thus increasing efficiency and productivity, if you stray from the path there is more work, but the path provides a lot of value, out of the box so to speak.
One of the best parts of Rails is that it breaks your application into an easily testable, easily understandable, and saves you precious time in doing things that are very similar between projects (database CRUD, Data abstraction layer) but also auto-generating everything (using scaffolding). Bringing ruby to .net is a positive move, but Microsoft should tread lightly cause most people moved to Rails since it is so backwards from Microsoft. Microsoft has been contradicting itself as of late, i am looking forward to seeing more community from Microsoft and less dictatorship, or tyranny.
It appears that Microsofts sandbox projects “Castle” or “LINQ” in beta form don’t have near the take-up that Rails has, ofcourse rails has had several years to lead in this arena, but i think if Microsoft wants to have its DLR and IronRuby succeed it needs to innovate not just copy Rails. I will give Microsoft a thumbs up that parts of this framework will be JIT compiled, but i am curious to see how they implement and market IronRuby. Personally i think the name is awful it doesn’t portray anything inspiring or valuable to the Ruby language Iron + ruby just sounds bad, I propose AlOCr Ruby, it permeates web 2.0 style and doesn’t mean anything so it is open-ended, in reality it is just the chemical formula for Ruby spelled out Al2O3Cr (aluminum oxide + chromium) that took me 5 minuets to come up with, I think Microsoft can do better, what is next IronPHP?