Can anyone currently using Boo speak to how they like it versus Python? Does it feel better? The same? Worse?
The differences seem trival – any problems making the switch?
Can anyone currently using Boo speak to how they like it versus Python? Does it feel better? The same? Worse?
The differences seem trival – any problems making the switch?
I only used Boo a little bit, but I have done lots of work with Python previously… in fact the first incarnation of GooBall was written in Python (!).
I can attest that Python is a horrible language to write games in, and that Boo is vastly preferable.
There are two things at play:
Boo is really fast. Python is really slow.
Python has the latest binding possible, all variable names are looked up when they’re encountered, and all data types are checked when operated on. This is not just slow (see point (1) above), but also extremely brittle: if you make a typo or a type error, it’ll only be discovered when the code-path containing the error is run.
This may be fine for linear little scripts, but in a game where a particular function may only be called when, say, you enter some particular game area, this becomes a nasty debugging liability… by analyzing your code at compile-time for both naming and types, Boo simply exterminates two major classes of bugs in one elegant swoop.
A case can be made for Python for some uses. In games? Absolutely not.
Regarding switching, I didn’t really switch, but enjoyed using Boo for the few things I used it for… there’s a page at Codehaus that outlines the important differences that you’ll want to read of course:
http://boo.codehaus.org/Gotchas+for+Python+Users
d.