You may or may not know, but Boo is a .NET Language that you can download and start working with immediately, and it's a great example of just how flexible the CLR is. I've always said that VB.NET and C# are just skins, so wear the skin that's comfortable to you. I've been watching Iron Python (.NET Beta 2 required) with great interest for a while, but just haven't gotten that into it.
Boo, on the other hand, while Pythonesque, is still C-sharpy enough as to not cause one to vurp as a rejection reaction from so many years of semicolons and curly braces. Additionally, there's something attractive about Boo's tagline: "A wrist friendly language for the CLI."
Boo is very much like Python, but then adds interesting things like duck-typing typified by Ruby. It includes some nice automatics like automatic variable declaration, automatic type inference, automatic type casting and many other things described in the Boo Manifesto.
Sure, you can download Boo, unzip it and find yourself running around the command line confused and tinkering with Boo, but sometimes it's nice to have an IDE to jump in right away. It's kind of a mood thing. I don't feel the need for a Ruby IDE, but Boo is "legit" enough that I want some sense of integration.
If you're interested in getting into Boo or just exploring, here's my recommendation on how to start in order to have the best possible experience (as of the original date of this blog post).
Starting with Boo
- Download Boo
- Download SharpDevelop (a lovely alternate IDE written in C#. Currently the Sept Refresh)
- Some magic: Download the unofficial installer for the Boo Sharp Develop Add-In (Sept Refresh)
- Note that Booish is presented as a toolbox window in SharpDevelop letting you have "immediate window" like behavior in a Boo shell.
- Get Lutz's Reflector (If you don't have it. Put it in your PATH.)
- Get Ayende's (Alpha) Boo Lanuage Binaries for Reflector and put them in the same folder as Reflector.
- This adds Boo as an option in Reflector when you're disassembling things. Good for learning or re-reading your old code afresh in Boo.
- You'll need to go View|Add-ins and add Reflector.BooLanguage.dll to the list.
- Now you can disassemble to Boo (more or less)
Now, run SharpDevelop and checkout the examples in the Boo zip file. Enjoy a Boo Tutorial, perhaps Hello Boo! or Boo Kung-Fu, or my favorite, a comparison with C#.