Quote:
Originally Posted by zombiezen
Before settling on Lua, one of our first attempts was getting the Python 3 interpreter working. However, Python rather heavily depends on having Unicode strings, which vxWorks doesn't provide. Along with that and a multitude of other compiler and linker errors to sort out, we decided we didn't have the development time to get it done. It's certainly possible to get Python working (and I'd love to see it), but after evaluating the performance characteristics and necessary development time, we settled on Lua.
We also found that Lua gives some flexibility that Python doesn't offer (though it pains me to admit it). Lua's core library is small, so it gives the team the option to pick what they need. Also, Lua's handling of modules is more favorable when trying to implement live code reloading (it can be done in Python, but it would be less straightforward). All of that aside, Lua is also designed to work on a smaller footprint than Python. The bulk of the code size when fully built is the WPILib wrapper (~20K lines of generated code), not Lua.
None of this is to say teams shouldn't try to get Python working. I would love that.  I just would like to warn everybody of some of the difficulties we ran into while trying to do it.
|
Thank you for writing this, I was waiting for Python to be ported but sadly too many hurdles for now.
Regardless, Lua is also an interpreted language that will open up programming to a much broader audience than C++/Java
Universities teach Computer Science freshmen interpreted Languages (Scheme, Python) with great success.