Archive for May, 2007

Dynamic Language Run-time (DLR) and IronRuby will they succeed?

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?

A rose by any other name would smell as sweet?

Silverlight is an interesting technology, and the name itself gives even more evidence of the backwards nature this technology will provide from Microsoft. 

 Before Silverlight was officially named the technology was referred to as WPF/E or Windows Presentation Foundation / Everywhere. This is very interesting since it seems like Microsoft would have had a code-name of Silverlight and an official name of WPF/E, like how Windows Communication Foundation  (WCF) was code named Indigo (which sounds a lot better)  or Windows Presentation Foundation was code named Avalon again this seems like a new Microsoft. 

 Another backwards thing about Silverlight is that it will run on Fire Fox, and Apple computers.  This is amazing and shows some backpedaling of yesteryear, and you must wonder if Google or Firefox didn’t exist if this would ever have happened. It seems like checks and balances are a good thing and keep capitalism in check with morality and community values. 

 The .NET frameworks new DLR (Dynamic Language Run-time) will embrace popular open source languages (Ruby, Python as IronRuby and IronPython) which validates what they are doing in the OSS world, it shows Microsoft is dynamic and can change.