My company won’t even accept new contracts for PHP anymore, we consider it that badly out of touch with the state of the art as far as web development goes.
The essential problem is that web applications are no longer simple. There was a time when the height of web app complexity was having a pile of includes and finding yourself needing memcached. Today even mid-range sites demand vastly smarter methods of dealing with data.
Web user expectations have risen dramatically as well. Forms must validate and pre-fill intelligently – to do otherwise is basically an unforgivable crime. Long sequences of Click->load->edit->load->response are no longer acceptable, rapid out of band responses, ajax and comet communication, the requirement for effective ORM and a dizzying array of support libraries for everything from RSS consumption to elegant charting has flipped the balance from a need to do primarily HTML, with some application logic, to a complete and dramatic reverse – it is not possible to deliver a modern web app in any kind of competitive timeframe if you’re spending all your time fiddling with HTML, there’s just way too much other stuff to do.
Ruby and Python stepped up to this challenge to a degree that PHP simply never has – and probably never will. There are no PHP frameworks that can hold a torch to Rails or Turbogears – they are a fundamental expression of their respective language platforms with the web as the interface, not a method for generating HTML with a variety of support libraries.
I understand that at this point there will be a pile of old school, die-hard PHP geeks shaking their heads and saying “Hasn’t he heard of Cake or …”. If you haven’t already seen the writing on the wall, there’s probably nothing I can say to convince you. I did PHP commercially for years, but I stopped two years ago when it became clear that times have moved on – just as they did for perl when PHP arrived on the scene.
Change is good, I’m delighted with Turbogears, it takes a clean language and grants it an unparalleled ability to bring a task to the web with a fraction of the code – and a hundred times the readability and manageability – of its nearest competitors on other platforms. I have successfully turned this into a major advantage for my company, and we have been cheerfully stealing contracts out from other firms to the point where we had to boost our price and we still have a month and a half wait time for anyone who wants new work done.
I cannot bring myself to work with PHP code anymore. It feels like going backwards – from a spreadsheet to a calculator, from the ball point pen to the hammer and chisel. Those who sit there cherrypicking features and saying “PHP 6 will have this too!” have no idea how insane they sound. You could write a book with a hammer and chisel too, but the time it would take! and who would even want it? Get moving now people, and shift to a modern platform. Change comes fast and it’s far better to be leading the wave than lost in the wash.
Hell, it’s more fun as well, I can spend my time on the fun, challenging parts of the work rather than mucking around with crap.
– His name is phirate and acn be found @ sitepoint