Why replace PHP with Python?
We believe we can attract more developers if we change from PHP to Python.
PHP is not a good language for building large, maintainable applications: http://www.ukuug.org/events/linux2002/papers/html/php/index.html
- especially when using it to write out complex Javascript (the syntaxes are always tripping you up)
- doesn't enforce Object Orientation
- poor separation of Presentation & Code
Python is fully Object Oriented ('everything is an Object')
Python is an interpreted language, similar to PHP & relatively easy for developers to adapt to.
Java would be a reasonable choice, but the barrier to entry with Java is much harder - setting up the compiler environment, etc
- this doesn't fit the RAD needs of the project.
- we can still access any useful Java libs via Jython: http://www.jython.org/
Ruby-on-Rails might be a good choice, but that's primarily for Web2.0 apps still & Sahana is more than just that.
Performance is also worse than for Python: http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=python&lang2=ruby
Python also supports a wide range of libraries for adding extra functionality, including in the GIS space:
(There are no PHP libraries for GIS)
- http://trac.gispython.org/lab/wiki
- http://featureserver.org
- http://tilecache.org
- http://mapfish.org
Python is also the language in which the Trac support infrastructure is written.
- ESR's take on Python: http://pythonology.org/success&story=esr
- Python as an Agile language: http://agiletesting.blogspot.com/2005/02/python-as-agile-language.html
- Python is fun!: http://xkcd.com/353/