As you can tell I am biased, I love interpreted languages. It is a simple decision for me, it is 95% productivity and 5% performance.&
I use Python and ActionScript extensively in my daily work. I get a very high level of productivity from using Python given its solid standard library and its simple readable syntax. Object oriented concepts are not buried in quirky syntax and you can do quite a lot in 5-6 lines of code. ActionScript is also very productive. It has a simple set of intrinsic classes that can be used to quickly build any type of object and integrate with components and external data sources. AS is very malleable and is an excellent language for UI work. Both allow for cross platform and cross device applications. As a client/server pair they are a near perfect solution (NEW BUSINESS,WINK,WINK,NUDGE,NUDGE).
As for performance, you can always scale something after you have working code but rarely before. As many will attest, pre-mature optimization is a hidden killer of so many projects. With a high level language you arrive at a testing phase much faster than with a compiled language, this is very true for Python development.
Python internally is built on C and internal objects are equivalent to their C counterpart(at runtime, they are C objects). Python just provides a light layer atop C and exposes objects in an interactive and interpreted manner. Performance wise, under the hood you are working with C. Second Python has some external libraries to speed up the execution of slower aspects of your application. Below are four more useful performance enhancements for Python:
Python C API – http://www.python.org – Python can be extended with C. You compile modules in C and you can access them from within Python itself. Ideally slow modules can be compiled and run at C speed.
PSYCO – http://psyco.sourceforge.net/ – Psyco is a Python extension module which can massively speed up the execution of any Python code. 2x to 100x speed-ups, typically 4x. Typically requires adding 2 lines of code into your application.
PYREX – http://www.cosc.canterbury.ac.nz/~greg/python/Pyrex/ – Pyrex lets you write code that mixes Python and C data types any way you want, and compiles it into a C extension for Python.
IRONPYTHON – http://www.ironpython.com/ – IronPython is a new Python implementation targeting the .NET and Mono platforms. You write code in Python and out comes MSIL.
The other thing to keep in mind is that computers are getting much faster. Languages like Python and ActionScript stand to get exponentially faster over time regardless of changes to the runtimes. I am sure we will see massive performance gains in both Python and ActionScript in the near future.
My 2 cents.
Ted
