OOP != Clean
I’ve seen plenty of OO code that is so convoluted, bizarre, and nonsensical that it boggles the mind. And I’ve seen procedural code that is clean, elegant, and does just what it needs to do.
Example: I wanted to fix a couple of issues with the presentation of my new (and growing) Blogroll, and it required that I make one change to the links.php file in WordPress. Finding the code trail between my sidebar.php theme file to the core WP code talking to the database and constructing the raw HTML was amazingly easy. I made some quick modifications to one line of code (to pull parameters out of the database it should have known about already!), and voilĂ ! It worked. I’ve played around a little bit with WP’s guts before and was similarly impressed (I made a simple plugin for the Write Post page so a text box would appear that could take an image URL pasted in and add it to the post as a real image tag with a link.)
WP is not OO at all. Just a bunch o’ PHP functions. But you know what? It works, and it works well. Granted, I personally prefer a good class library and a modular application design around that, but I can’t argue with a well-designed, successful Web app like WordPress. Good for them.

Del.icio.us
Cosmos
Digg