I love PHP and I love the merits of a modularized backend and dynamic content generation. It really makes life that much easier. Granted, my site's backend probably isn't the cleanest one in the world (although I constantly work on making it better whenever I see something is not optimal), but it works, and it works well. For instance, all I had to do to get the dates changed from the easily machine-parsable ISO 8601 format to the human-friendly format was to change $arg['date'] into date('F j, Y', strtotime($arg['date'])). (Dates are still internally stored in ISO 8601.) If I hadn't used a database, I would have to change 221 news posts manually.