Why I chose Python over PHP
Or: Why I chose Django over Yii
I've been developing with PHP well over a decade now.
From editing and writing plugins initially for Phpnuke (yep),
to working with most CMS's (Drupal, WP, Magento),
and eventually MVC frameworks (CI, YII, KOHANA, etc.)
I've learned the language's good sides, and bad sides.
So with such extensive experience with PHP, what made me,
at least in this particular project, switch to python?
I was fortunate enough to experiment with other programming languages on many side projects along the way, mainly Python & Java (yeah, REAL programming!)
The project started as a mostly backend solution containing some recursive functions (running as a background process), and here's the problem: debugging recursive functions with PHP is a horrible experience of trial and error.
The tools given for most standard programming languages (ahm, break point?)
are just not really there for PHP.
It took me about 2 days to find a crucial edge case with Python & Eclipse that took me
(for a similar case) over a week with PHP.
Of course I had to implement my code again with Python, but that didn't take long -
At the end of the day, an algorithm is an algorithm.
Python also seemed to be a lot more portable.
With virtual environment I could basically put my entire project on a USB stick and go -
no server configuration, no dependencies check, no nothing. I didn't even have to be online for most of the development (ok that's doable with PHP too, but takes a lot more time to configure - and I'm not a fan of installing Apache on my laptop).
All in all, I'm still going to continue coding with PHP, mainly because it's a lot faster to start a project with, and it won't give any headaches to clients: almost every hosting company supports it, almost every web developer understands it.
I will use Python (and Django in particular) a lot more often though,
now that I've built a few major things with the framework.