[ANN] Boo 0.4.3 - python-like language for .NET/Mono

Doug Holton no at spam.please
Mon Oct 11 21:30:57 CEST 2004

Istvan Albert wrote:

> Doug Holton wrote:
>> Like I said in the first sentence of my earlier message:
>> "I thought I'd share it here since there has been so much interest for 
>> similar projects like IronPython."
> What I referred to was that the reason IronPython got so much
> interest in this group is not because it is a *python-like*
> language on the CLI but because it aims to be *python* on
> the CLI. Big difference IMO.
> If you'd make your language a valid python implementation, that could
> also access .NET components (a la python) it would
> instantly become a bazillion times more popular and talked about.
> A "hey, it looks like python but it is not really python"
> approach has little chance of capturing a python programmer's
> imagination. It just muddies the water and sows confusion among
> potential adopters.
> this is just an opinion, and I've been wrong many times before...

Right, I respect your opinion.  What you want is IronPython, definitely.
It is meant to be an exact clone of Python but for .NET/Mono.

Just to make it clear for others (because it took me a while to really 
understand this), python does everything at run-time.  For example, you 
can add or delete methods from a class instance on the fly.  Boo, 
however is more like C# and does most of its work at compile-time 
(although there are some run-time features like duck typing).  That 
makes it faster (100 times faster on a recent Mandelbrot test), but in 
some respects not as flexible as python.  So there is a trade-off.

I was going to mention this before, but didn't.  Wouldn't it be neat to 
actually implement Python in boo?  I've been wondering if boo could 
support different levels of dynamic late-binding, ranging from:
-completely static, compile-time (already have that)
-duck typing for individual variables (already implemented)
-a duck typing class for runtime customization of a class and control 
over duck typing (see http://jira.codehaus.org/browse/BOO-19)
-a modified compiler pipeline mode that interprets everything as runtime 
instead of static (possible, see for example the booish interactive 

More information about the Python-list mailing list