| | 4 | PHP is not a good language for building large, maintainable applications: |
| | 5 | http://www.ukuug.org/events/linux2002/papers/html/php/index.html |
| | 6 | * especially when using it to write out complex Javascript (the syntaxes are always tripping you up) |
| | 7 | * doesn't enforce Object Orientation |
| | 8 | * poor separation of Presentation & Code |
| | 9 | |
| | 10 | Python is fully Object Oriented ('everything is an Object') |
| | 11 | |
| | 12 | Python is an interpreted language, similar to PHP & relatively easy for developers to adapt to. |
| | 13 | |
| | 14 | Java would be a reasonable choice, but the barrier to entry with Java is much harder - setting up the compiler environment, etc |
| | 15 | * this doesn't fit the RAD needs of the project. |
| | 16 | * we can still access any useful Java libs via Jython: http://www.jython.org/ |
| | 17 | |
| | 18 | Ruby-on-Rails might be a good choice, but that's primarily for Web2.0 apps still & Sahana is more than just that.[[BR]] |
| | 19 | Performance is also worse than for Python: http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=python&lang2=ruby |
| | 20 | |
| | 21 | Python also supports a wide range of libraries for adding extra functionality, including in the GIS space:[[BR]] |
| | 22 | (There are no PHP libraries for GIS) |
| | 23 | * http://trac.gispython.org/lab/wiki |
| | 24 | * http://featureserver.org |
| | 25 | * http://tilecache.org |
| | 26 | * http://mapfish.org |
| | 27 | |
| | 28 | Python is also the language in which the support infrastructure is written: Bzr, Trac |
| | 29 | |
| | 30 | * ESR's take on Python: http://pythonology.org/success&story=esr |
| | 31 | * Python as an Agile language: http://agiletesting.blogspot.com/2005/02/python-as-agile-language.html |
| | 32 | * Python is fun!: http://xkcd.com/353/ |