tags:

views:

215

answers:

4

First of all, please don't make a comment that is based on your opinion or preferences or some magic hatred for PHP.

I work at a web development company and I'm going to write a new CMS soon. I'm currently using WordPress, but I have lots of experience with Python/Django.

My question to this great community is what are the practical benefits of using PHP or Python. What does Python give me that PHP doesn't that I'll actually use. Will Python add an extra level of complexity, will it allow better testing, etc etc.

I know this topics been beaten to death already, but most of the replies on objective. I want facts that are of actual use to people.

Some Topics:

  • Security
  • Speed
  • Easy of use
  • Scalability
  • Maintainability
  • Extendability

Thanks :)

A: 

When you say write a new CMS, do you mean from scratch? Is there nothing off the shelve in any form that would do what you want? Maybe find a CMS that does as much as you want as possible, then see how extensible it is (and whether PHP or Python is best suited to the job).

Also, do you mean CMS or Blogging Engine? If you're currently using Wordpress, then that isn't really a CMS anyway - so maybe you're looking for a blogging engine? It's not meant to be overly harsh, just a little more detail in your requirements might help get better answers.

Paul Hadfield
Just FYI: I have seen many examples of Wordpress being used as a CMS.
Dennis Haarbrink
@Dennis: I suppose in a way a blog is a focused CMS - it's just a plus point for WordPress how well it copes in those situations.
Paul Hadfield
WordPress does work quite well as a CMS because of it's good plugin architecture, but overall I find WordPress isn't powerful enough and Joomla/Drupal try to be everything for everybody so they just aren't what I'm looking for.
Rogue Coder
A: 

This is not intended to be a complete answer, feel free to copy my points into yours.

Regarding: Scalability and Maintainabilty, Django's OO features speak for themselves. After all OO was invented to be scalable and maintainable. Last time I heard, PHP doesn't do OO (Tell me if I'm wrong, please).

Extendability Both PHP and Django are probably up there, however PHP has atm a larger user base.

Unapiedra
PHP is not an Object Oriented language, but as of PHP5 it is has extensive Object Oriented capabilities.
Russell Dias
You are *very* wrong. Since PHP5 it's OO support is becoming quite mature, especially since 5.3
Dennis Haarbrink
+9  A: 

Objective Answers.

Security - Not language specific.

Speed - Not language specific. This is entirely a function of the overall web architecture, caching and database.

Ease of use - subjective. Nothing more to say.

Scalability - This is entirely a function of the overall web architecture, caching and database.

Maintainability - subjective at worst. At best, it's a matter of documentation, and unit testing. Neither of which are language-specific.

Extendability - what do you mean by this? Add-on libraries? It's a wash.

Will Python add an extra level of complexity? "Complexity" is subjective. Some folks think an ORM layer helps them. Others will tell you it's too much complexity. Some folks say that any web framework is "too heavyweight" and insist on writing CGI scripts. This is not a language issue.

Will it [Python? PHP?] allow better testing? This is entirely a process question. In a separate SO thread on Django, folks told me -- very specifically -- that if the unit tests are too slow, they just won't run them. Period. So unit testing (to some people) is optional. This is -- objectively -- not language-specific.

Bottom line.

All Programming Languages Work

Toss a coin.

S.Lott
A: 

Youtube is writen in python.

hugo24