What is the difference between IronPython and BOO? Is there a need for 2 Python-like languages?
IronPython is designed to be a faithful implementation of Python on the .NET platform. Version 1 targets Python 2.4 for compatibility, and version 2 targets version 2.5 (although most of the Python standard library modules implemented in C aren't supported).
Boo's stated aim is to be a "wrist-friendly [dynamic] language for the CLI." It takes a lot of inspiration from Python, but diverges on four main points:
There are some other minor differences in implementation/performance, but the divergent design goals above should (IMO) inform your choice of languages.
Two more things to take into account are maturity and community. Python is much more mature than Boo, and has a much larger community. IronPython also has the explicit blessing of Microsoft.
In a nutshell, Boo's claim to fame is that it is supposed to give you most of the benefits of Python's elegant, terse syntax and very high-level abstractions, but without sacrificing (most) of the speed advantages of a statically typed language like C#.
IronPython is Python. Boo looks like Python.
They have different goals and while IronPython aims to be just like Python, Boo does not. Boo is not worried about compatibility with Python like IronPython is...
IronPython is a python implementation wheras Boo is another language with a python-esque syntax. One major difference is that Boo is statically typed by default.
I'm sure there are more differences, I've only looked at Boo briefly, but I've been meaning to look at bit deeper (so many languages so little time!).
Here is a list of Boo gotchas for python programmers which sums up the differences quite nicely: