I have been developing for Drupal for 5 years, with a portfolio of many large scale projects. I am also the author of some popular Drupal modules.
With all that said, in my experience, Drupal offers zero TCO or ETA advantage over Django or Symfony on any medium to large project. A lot of the great things you may hear about Drupal are coming from either (a) Non-developers or (b) People who have staked their careers on Drupal.
A few reasons why Drupal cannot be taken seriously include...
I won't comment on the ORM, Views and CCK stuff beyond agreeing that it could be a lot better (though what we have now is much better than where we were). I'm not sure what would constitute solid deployment procedures for you, so without an example I can't comment.
4) Using native PHP as the templating language. This causes more headaches than one you can possibly believe. A proper templating language should be used instead which will prevent lazy or incompetant developers from adding business logic into templates.
I can't say that I agree with you on that--most of the template engines I've seen end up replicating a high percentage of core PHP--but in any case, it's a problem that has been fixed already by theme engines. Don't like phptemplate? Use Smarty: http://drupal.org/project/smarty [drupal.org] or develop your own theme engine.
5) An army of incompetant, unexperienced developers contributing sub-par modules.
I would say that's not so much the problem as that there isn't a good way to separate the wheat from the chaff currently, though it sounds like that's in the works for the next iteration of drupal.org.
6) Lack of any kind of namespacing whatsoever. "De-Facto Namespacing" is a pile of shit.
Heh. Agreed, though I think that this is somewhat a function of the lack of namespacing in PHP influencing the design.
The debate between "template languages end up implementing most of PHP anyhow, so just use PHP for your template language" and "you should maintain model and view separation, and using PHP for your template language makes it too tempting and easy to break that separation" will never end. One thing to keep in mind, for both sides, is that PHP is nothing but a template engine that has outgrown its britches. Using it to develop a CMS is bound to end up breaking model/view separation by having templates with
Drupal cannot currently be taken seriously (Score:5, Informative)
I have been developing for Drupal for 5 years, with a portfolio of many large scale projects. I am also the author of some popular Drupal modules.
With all that said, in my experience, Drupal offers zero TCO or ETA advantage over Django or Symfony on any medium to large project. A lot of the great things you may hear about Drupal are coming from either (a) Non-developers or (b) People who have staked their careers on Drupal.
A few reasons why Drupal cannot be taken seriously include...
1) Lack of unified model
Re:Drupal cannot currently be taken seriously (Score:4, Interesting)
I won't comment on the ORM, Views and CCK stuff beyond agreeing that it could be a lot better (though what we have now is much better than where we were). I'm not sure what would constitute solid deployment procedures for you, so without an example I can't comment.
4) Using native PHP as the templating language. This causes more headaches than one you can possibly believe. A proper templating language should be used instead which will prevent lazy or incompetant developers from adding business logic into templates.
I can't say that I agree with you on that--most of the template engines I've seen end up replicating a high percentage of core PHP--but in any case, it's a problem that has been fixed already by theme engines. Don't like phptemplate? Use Smarty: http://drupal.org/project/smarty [drupal.org] or develop your own theme engine.
5) An army of incompetant, unexperienced developers contributing sub-par modules.
I would say that's not so much the problem as that there isn't a good way to separate the wheat from the chaff currently, though it sounds like that's in the works for the next iteration of drupal.org.
6) Lack of any kind of namespacing whatsoever. "De-Facto Namespacing" is a pile of shit.
Heh. Agreed, though I think that this is somewhat a function of the lack of namespacing in PHP influencing the design.
Re: (Score:2)