PHP to Ruby/Python Migration

I’m making my way through the Snakes and Rubies presentations of Django and Rails. One thing that surprised me a bit was that both Adrian Holovaty and David Heinemeier Hansson both came out of a PHP web development background. Within these presentations both explain that PHP was so messy that they developed their frameworks in Python and Ruby so they could write beautiful code.

Given that there’s been a lot of attention around high profile java developers jumping over to Ruby on Rails, I was a bit surprised to see a migration from PHP as well. I’ve actually been in web development long enough to remember that PHP stood for Personal Home Page. I migrated to Java from Perl and really enjoyed Java’s static typing and the wealth of libraries that have developed. Long ago though, I did a lot of Perl CGIs. So I guess it shouldn’t really surprise me that when PHP developers go looking for new pastures that they Ruby on Rails is an obvious path these days.

One nice side effect is that some of this is leading to PHP developers being exposed to better engineering practices like unit testing. In a recent Ruby on Rails Podcast, Scott Raymond, a longtime PHP developer, explains how he had heard about XP and unit tests, but Rails made it so easy that he started actually writing them and improved the quality of his code.