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.
September 23, 2007 at 2:50 am
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.
September 23, 2007 at 8:48 am
You may want to read Adam Turoff’s take on the rewriting issue, where he takes the thought you expressed and runs with it:
He argues that Joel is both correct and wrong.
September 23, 2007 at 10:57 am
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?
September 23, 2007 at 11:28 am
I’d agree that he’s built himself a framework along with an application.
September 23, 2007 at 11:28 am
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.
September 23, 2007 at 11:33 am
Sounds like he had much more of a management problem than a technology problem.
September 23, 2007 at 6:51 pm
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?