Boo vs C# vs Python?

PythEch picture PythEch · Oct 6, 2009 · Viewed 15.9k times · Source

Compared to C#, Boo feels a bit more Pythonic but it's also compiled down to .NET MSIL. I liked its syntax, even more than C#'s syntax. But I couldn't find a single book teaching Boo.

And I really don't know, if learning Boo is better than C# or learning C# is better than Boo. I just want to use some Python-like data types. Those are:

  • {key1:value1, key2:value2} → dictionary
  • [Value1,Value2,Value3] → List (can be edited/changed)
  • (Value1,Value2,Value3) → Tuple (can't be edited/changed)

I use dictionaries more than list and tuples. I want to know, which one is better?

Answer

PaulMcG picture PaulMcG · Oct 6, 2009

I have found Boo to be very useful in creating simple one-off scripts, while retaining my Pythonic source style. And since it compiles to runnable EXE or DLL, I can package up a single EXE with all the needed DLLs (including Boo.Lang.dll) using ILMerge, and then send that off to a client, usually for some kind of quick troubleshooting or system diagnosis.

I also use Boo to support my C# development. I often fire up a Boo interpreter to try out variations of string or date formatting, then I can replicate the final version almost directly into C#.

But it is darned difficult to find docs for Boo. I had to Google quite a bit to find the syntax for generics, since they are a relatively new addition to Boo, and not yet mentioned in any tutorials, or even reference pages. And googling for "boo" generates quite a few unwanted hits, making the search even more difficult.

So in short, don't make this a choice between Boo and C# - they actually complement each other pretty well.