Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Does Catalyst Borrow from Rails?

by mojotoad (Monsignor)
on Feb 06, 2007 at 16:30 UTC ( [id://598576]=perlquestion: print w/replies, xml ) Need Help??

mojotoad has asked for the wisdom of the Perl Monks concerning the following question:

Caveat: yes, I know it's wikipedia and all that entails, no I'm not trying to cause a stink.

I was recently perusing the wikipedia entry on MVC and saw an interesting snippet underneath the Perl section:

The most popular MVC for Perl is Catalyst. Catalyst borrows from other frameworks such as Ruby on Rails and Apache Struts.
Does anyone know if there's any justification for such a statement? What specifically, other than following an MVC pattern, does Catalyst borrow from Rails?

I'm honestly curious and wouldn't know myself since I haven't followed the development history of Catalyst (or Rails) in enough detail.

Cheers,
Matt

Replies are listed 'Best First'.
Re: Does Catalyst Borrow from Rails?
by dsheroh (Monsignor) on Feb 06, 2007 at 17:40 UTC
    I was curious about your question so I did a little googling, hoping to at least find out which is older. Then I ran across http://www.perl.com/pub/a/2005/06/02/catalyst.html which states
    Ruby on Rails was another inspiration... Features we borrowed from RoR are the use of helper scripts to generate application components and the ability to have multiple controllers in a single application.
    So there you have it, right from the fingers of an (apparent) Catalyst developer: Yes, they did borrow some things from Rails.
Re: Does Catalyst Borrow from Rails?
by dragonchild (Archbishop) on Feb 06, 2007 at 17:52 UTC
    Having asked for them, I can attest to at least two features found in RoR that are in Catalyst:
    • Volatile flash (vs. the more stable stash)
    • Automatic param parsing / composition from attributes
    This is a "Good Thing"(tm) - just because someone else came up with the good idea doesn't mean that you aren't allowed to use it yourself.

    My criteria for good software:
    1. Does it work?
    2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
      ... unless all this software patentability issue goes really bad...

      /me runs away with the lighter...

      Flavio
      perl -ple'$_=reverse' <<<ti.xittelop@oivalf

      Don't fool yourself.
Re: Does Catalyst Borrow from Rails?
by tinita (Parson) on Feb 07, 2007 at 09:25 UTC
    "It (Perl) combines (in the author's opinion, anyway) some of the best features of C, sed, awk, and sh".
    This quote is from Larry Wall (comp.sources.d,comp.misc, 1989)

    If Larry hadn't borrowed good features Perl wouldn't be the kind of language it is now.

Re: Does Catalyst Borrow from Rails?
by jimt (Chaplain) on Feb 09, 2007 at 14:02 UTC

    My first thought was, "I sure hope so."

    Caveats before I start yapping - I have only minimally looked at both RoR and Catalyst, so I know nothing specific about either of them, only general handwaving things.

    Regardless, I'm positive that RoR got some things right. Like, really really really right. Beautifully elegantly totally right. So sure, borrow those concepts, adapt them, re-use them.

    I'm also positive that RoR got some things wrong. Like, really really really wrong. Horribly terribly totally wrong. So look at those concepts, figure out how not to make the same mistakes, and then avoid them.

    For something as big and as ballyhooed as Catalyst has been, I'd hope that the people involved are constantly looking at the competition, even if it's just cursory glancing ("Yeah, we do that already...ooh, but that's a cool idea! Hey, maybe we could do this other thing, too!"), since it will always lead to a better product.

    I'd be much more concerned if the quote were something like "Perl programmers developed Catalyst in a vacuum, completely disregarding all similar items in other platforms."

Re: Does Catalyst Borrow from Rails?
by phaylon (Curate) on Feb 07, 2007 at 14:24 UTC

    Surely Catalyst borrows some things from Rails. With Rails being "the hype," it's pretty impossible to design and maintain a web framework without hearing stuff about it. For me personally, I'm much more enthusiastic about the things Catalyst did not do because they saw how it worked out in Rails. The differences aren't that small, and they should be what matters in decisions about what framework to use.

    Update: PS: Why didn't you just ask in the IRC channel?


    Ordinary morality is for ordinary people. -- Aleister Crowley

      I would enjoy it if you elaborated on "did not do..." Which features did you see in RoR that the catalyst folks chose to skip? why do you think?

      -Paul

        I never really used Rails, but there were some discussions about that matter. And I don't mean "features" alone, but rather all design decisions in general. AFAIK Catalyst's dispatching is way more advanced than Rails routes (if my memory doesn't fool me and they call it that). The ActiveRecord vs. DBIx-Class discussions also bring up some points regularly. As said, I can't really provide details, because of my lack of knowledge about Rails. That's why I use a framework, I don't have to have the knowledge myself :) Well, that and I don't like Ruby's syntax, but that's rather personal.

        Ordinary morality is for ordinary people. -- Aleister Crowley

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://598576]
Approved by marto
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others goofing around in the Monastery: (5)
As of 2024-04-24 08:23 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found