[ANN] Boo 0.4.3 - python-like language for .NET/Mono
Doug Holton
no at spam.please
Mon Oct 11 15:30:57 EDT 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
interpreter)
More information about the Python-list
mailing list