[Catalyst] Why Catalyst instead of Ruby on Rails?

Philip Edelbrock phil at edgedesign.us
Sat Nov 12 01:34:42 CET 2005



Sebastian Riedel wrote:
> 
> Rails tries to be a end-to-end solution, shipping with a template and  
> orm system, very tightly integrated.
> Catalyst is all about TIMTOWTDI, you decide which components to use  
> (even multiple ones in a single app).
> 
> Maybe there will be tighter integrated frameworks based on Catalyst  in 
> the future. :)
> 
> Another point is extendability, Rails is actually just starting with  
> plugins, Catalyst was built from the ground up with extendability in  
> mind, you can change every single bit!
> 

Yeah, Rails is pretty tight and sort-of preconfigured to handle the vast 
majority of 'average' web tasks simply.  The up-side is that there is 
less to worry about, and less to do to get things done.  The down-side 
is that if you get outside the boundries of what they expect, you can 
get into trouble.  This leads to the 'drink the kool-aid' situation of 
trading that simplicity for a potential lack of support to something 
you'll need down the road.  I've been rather surprised that we haven't 
run into more roadblocks.  The only serious one was the lack of support 
to encrypt mail, but that's something the mail sub-system can handle 
anyway (using procmail or something), or we could have written something 
ourselves in Ruby (but don't really seem to need to).

The 'drink the kool-aid' also can be applied to the philosophies and 
assumptions suggested by Sebastian.  You have to trust that Dave and 
David (the Rails guys) have done the correct thinking for you.  This is 
a rare case of the software tool actually needed to be used a 
preconceived way to be largely effective.  Most programmers are used to 
being the philosophers, but you need to give that up for Rails and 
perhaps to a degree for other frameworks including Catalyst.

Oh, a couple other little observations: There are some medium to largish 
sites out there in Rails (the project I'm on could conceivably be the 
largest to date when it launches?), but watch out for the argument that 
(large site) Basecamp is written in Rails and therefore other large 
sites can also be done in Rails.  Basecamp wasn't written in Rails, 
Rails was written from what came out of Basecamp.

If I were a noob to both Ruby and Perl and wanted a MVC framework for 
typical web development, I'd tend to lean towards Rails (for good 
reasons, I think).  If I were needing more flexibility, more resources 
to draw from, am familiar with Perl, and willing to do a little extra 
leg work to have that flexibility, I'd go with Catalyst.

As a last note: I'm a little harsh on Rails in this thread.  I'm having 
a blast with Rails, and it's a well written package with a lot of great 
thinking behind it.  What I don't like is that it's over-sold to be the 
end-all-be-all solution, as well as having a lot of marketing and hype 
'synergy' behind it that fills it's mailling list with noobs.


Phil



More information about the Catalyst mailing list