What is Python?
- Scripting language, invented in 1991 at CWI (Amsterdam) as a scientific programming language
- Large community
- Supports multiple paradigms; OO as well as procedural programming
- Users: science (NASA, CERN), business (Google), Linux distributions like RedHat and Ubuntu
Differences with Perl philosophy
- Python usually has one obvious way to do something
- Python has shorter development cycles (think Perl 6)
- More focus on serious language, less focus on 'quick hacks'
- More powerful object model
- Fewer surprises (scalar/list context, string/number duality)
Disadvantages
- Slower than other scripting languages. There are solutions for this, like Psyco (a JIT-compiler) and usage of NumPy, which has heavily-optimized code for working with arrays and other data structures
- Web app scripting not like you expect; it's not PHPish but more like Java's servlets
Interesting developments
- Paid support available from ActiveState
- SciPy/NumPy, a combination of libraries where NumPy takes care of fast array handling and SciPy provides for instance numerical integration and optimization
- PyQt, bindings to Qt 4, are actively developed
- Looks good on the desktop
What could Python mean for us?
- Easy to use
- Easy to explain to other engineers
- Easier to maintain
- More focus on science, with its numerical and plotting abilities