I am pretty impressed with Microsoft's new Dynamic Language Runtime (DLR) and languages that they recently released with Silverlight. This library makes it possible to use scripting languages with .NET. A great deal of effort has gone into this project and it is pretty cool.
IronRuby runs on the DLR in Silverlight 2 and it's pretty cool too. Something about using these new langauages on top of .net really brings out creativity and potential for me. Perhaps it's because I remember back when the "microcomputer" was new. Almost all of the department stores had these gadgets in their electronics departments. The only way to use these amazing things was to program them in BASIC and leave them on or save the program on a 5.25 inch floppy disk if you could afford one. The form of BASIC on computers like the TRS-80, Apple IIe and Commodore was dynamic. You just type in your program and run it right out of memory. Computers took about 10 seconds to boot and you could start programming right away. This same thing happened when browsers started using JavaScript. Suddenly you could just type in a program and amazing things would appear. I think that the DLR puts you in a place in .net where creating and discovery can be done at a rapid pace. I think that this is what caused "Personal Computers" and "the Web" to become what they are today. Finally, we have the whole .net framework to play using the same ideas.
I think that one thing that holds people back from seeing the genius of this release is the baggage that we have gotten used to. We automatically think about compilers and dlls and environments. The DLR really hides all that and lets you get right to work. It works best when you to use a rapid feedback loop. Just turn it on, type some code, see it work, try some more, see it work, etc. Another problem that I think hides the power of the DLR a lack of communication about it from Microsoft because the investment by Microsoft has been pretty small compared to the value it is to me. Microsoft is relying on "the community" and that makes it hard to spread the word, unless, of course, we do it. The team working on the dynamic language runtime is pretty small, but the power of what they have been able to do proves that there is something to this concept.
After investing hours this weekend trying to port my JSNUnit to IronRuby and Silverlight (the first version of which I plan to release soon), I discovered that one of the best ways to get the information I needed was to play as much as I could with the "DLR Console". This is actually an demo that was originally made for Mix a couple of years ago by Jim Hugunin.
The DLR Console takes about 10 seconds to start and you can start programming immediately right online without installing anything (you do have to have the Silverlight 2 plug-in). You can choose between IronPython, IronRuby, or XAML. You type something and it will give you immediate feedback.
I suggest starting with the DLR Console and use the .net Silverlight 2 library documentation to think of things to try and things to play with. It's a lot of fun and the rapid feedback allows you to learn very quickly.
When you want to start writing software for the DLR, I suggest downloading the Silverlight Dynamic Language SDK. Have fun!