Ditching Rails

I found Derek Sivers’ post on ditching Rails interesting. He spent two years trying to reimplement the code for CD Baby in Rails, abandoning PHP, and then abandoned the Rails project and rewrote his old PHP application in PHP (its original language) instead. From his list of reasons, it sounds like he made the right choice.

Perhaps he should have read Joel Spolsky’s essay on the dangers of rewrites before getting started. Interestingly, you’d have to say that Joel was wrong in chastising Netscape for rewriting Mozilla from scratch. Nothing as good as Firefox could have been written using the existing Netscape Navigator code.

By the way, PHP’s autoload feature looks like a lifesaver.

7 thoughts on “Ditching Rails

  1. The lesson must be “if you’re going to rewrite, plan on doing it twice” since really there’s not all that much of the Mozilla 1.0 rewrite left; like Derek, the people who rewrote Gecko after 1.0 (and, for that matter, before it) and the people who rewrote the Suite UI as Firefox were doing so based on what they learned rewriting 4.x.

  2. He reasons were right, as they clearly worked for him in the end, but the comparison between PHP (a general purpose language) and Rails (a web development framework) is an odd one to me. He said he didn’t use a framework, because Rails was imposing to many things on him he didn’t want or couldn’t use…but then goes on to say how he implemented all his own MVC, templating, and caching. Is it just me, or did he write the CDBaby framework in PHP and then write the CDBaby application?

  3. PHP’s autoload feature looks like a lifesaver

    I suspect it is also the source of a great number of mysterious errors. The user notes on it are amongst the longest of any other part of the php doc. Be careful.

  4. If he built himself a framework at all, then he probably did it in the same way 37Signals built Rails: by building an application whence a framework could be extracted from after the fact.

    PS.: Rafe: would you mind approving the other comments I’ve left on your weblog?

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>