https://github.com/texastribune/armstrong.base (base functionality)
https://github.com/texastribune/armstrong.esi (edge side includes)
https://github.com/texastribune/armstrong.apps.couchdb (couchdb views)
https://github.com/texastribune/armstrong.base (base functionality)
https://github.com/texastribune/armstrong.esi (edge side includes)
https://github.com/texastribune/armstrong.apps.couchdb (couchdb views)
Spoken like someone who's tinkered with Wordpress for 20 minutes and decided that was grounds to make sweeping assumptions. Drupal's internals are tight. You ever hear a developer complaining about coding against it, guaranteed it's because they don't know what they're doing.
It's just that, for various reasons, when good programmers are given their choice of language for a project they tend to choose Python and not PHP, or Java, or BASIC. And that's just my experience, but I don't think I'm the only one who's observed that.
Speaking of sweeping assumptions though: I've been a PHP developer since version 3 and have deployed many WordPress sites, themes and extensions, going back to version 2.1. I'm quite familiar with its internals, and while not to the same extent, I am also experienced with Drupal.
I can say with certainty that if you are the kind of web developer who likes a cleanly enforced separation of logic from presentation, or who enjoys being able to predict with high accuracy the flow of control, you will be frustrated with WordPress and Drupal -- and PHP apps in general. On the other hand, if you like writing hook functions and embedding business logic in your templates, you're in luck because the APIs of both do a very good job of making this the default mode for development.
If we continue down this thread, we're going to have a language war; my main intent was to disabuse you of the notion that people who criticize PHP speak from ignorance, as I have been paid very well for a long time to perform all sorts of PHP-related mental gymnastics. I absolutely refuse to use it for personal projects and have scaled back the extent to which I use it at work, by finding a job where I have more freedom with my projects.
I could go on about the nastiness of PHP, but if you don't believe that this is the state of PHP CMS development -- perhaps you think that it's not bad to write code this way, or perhaps you think all the hoops that one has to jump through to do things The Right Way are not actually burdensome -- then we simply disagree on what it means to have a good programming environment.
If you feel that way, I'd recommend a couple of PG's essays to you:
http://paulgraham.com/avg.html http://www.paulgraham.com/pypar.html
EDIT: Another thing occurs to me: there are a ton of environments and frameworks where a 5 minute screencast is plenty convincing to someone looking to try it out. You can show off some great concepts and capabilities in 5 minutes. So yeah, 20 minutes of trying to do something trivial in WordPress is enough to get the gist of things -- if you can't find at least one great, if minor, experience in 20 minutes of using a tool, it's probably a good indication of things to come.