Learning another programming language

I've been dying to explore some interesting non-Microsoft languages (among others, my list of includes PHP, Perl, Python, and Ruby/Rails). It's always fun to learn something new and can't help but feel that a different perspective will help me be a better programmer. Sadly I've been avoiding the task of overcoming the suck threshold of an unfamiliar, and likely command-line-warrior only, environment. What I really want is to explore a language and start being creative as quickly as possible without suffering through a big environmental learning curve. Last night I finally decided I just needed to bite the bullet, pick a language and dive into it. Funny thing though... just as I was ready to give in I may have found a way to get just what I wanted.

It turns out that there are open-source efforts underway to port many of these languages to the .Net environment. As with many things in open source there are often multiple efforts to do the same thing, only slightly differently. Some of these efforts are being built on top of the CLR but Microsoft is now encouraging the use of it's (relatively) new .Net DLR (Dynamic Language Runtime). The DLR is build on top of the CLR and makes it easier for the more fluid languages to be ported to .NET. I don't know where the chips will fall, but at least one of the DLR efforts has killed off it's CLR alternative (see Ruby.NET is dead). Also the DLR is being pushed as part of Microsoft Silverlight 1.1, which sets things further in it's favor. So, for the time being my plan is to only look into the DLR implementations.

Here are a some on going DLR efforts in various stages of development:

I haven't had the time for more than a cursory look at them yet, but I'll let you know what I decide.


Post a Comment