Python – BOO Vs IronPython

\clrbooironpythonpython

What is the difference between IronPython and BOO? Is there a need for 2 Python-like languages?

Best Answer

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:

  1. It's designed specifically to take good advantage of the .NET platform
  2. The designer diverges from Python syntax where he doesn't agree with the design decisions (most notably, lack of explicit self)
  3. The language is explicitly designed to be "wrist friendly" -- that is, to minimize the need for the Shift key or other multi-key combinations to be used.
  4. Boo is statically typed by default, but allows optional duck typing.

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.