Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

masak (6289)

masak
  (email not shown publicly)
http://masak.org/carl

Been programming Perl since 2001. Found Perl 6 somewhere around 2004, and fell in love. Now developing November (a Perl 6 wiki), Druid (a Perl 6 board game), pls (a Perl 6 project installer), GGE (a regex engine), and Yapsi (a Perl 6 implementation). Heavy user of and irregular committer to Rakudo.

Journal of masak (6289)

Friday July 10, 2009
11:00 AM

Reading up on MVC, part 2: Catalyst

[ #39263 ]

I was pleasantly surprised by the relatively large number of comments to my first MVC post. Either people are very interested in MVC in general, and have things to say about it, or there's some reverse psychology going on in starting a post with "don't mind me".

Just in case it's the latter... don't mind me this time either. In fact, if anything, I seem to have gotten even more ignorant and directionless since last time. MVC frameworks are hard, let's go shopping!

Reviewing Catalyst. I found this screencast a couple of weeks ago. Here are my impressions while watching it:

  • It's nice to have a skeleton of the application generated for you. Can be taken to extremes, of course, but the general idea is sound.
  • Compared to the Rails screencast, this one cheats a bit on details. It skips parts of the installation process. It says "there's really no excuse not to document your code any more" but then doesn't fill in the blanks.
  • It also (unconsciously) presupposes a lot of prior knowledge. Example: "The index method does the actual handling of requests for the root path. It has two attributes: :Path and :Args. We specify that it handles all paths (because there is nothign like '/foo' after :Path), and it takes no arguments off of the stash." I see. What's the stash?
  • The debug screen is nice. It makes good use of the terminal.
  • Suddenly, the screencast is over. It refers to a Part 2, but there's no Part 2 yet.
  • Overall impression: Catalyst is an application that lets me dispatch on URLs. I'm sure there must be more to it than that.

I also stepped through the slides about chained, since I've gotten good vibes about those, but don't really grok them yet. I'll have to come back to it, because I didn't understand everything in it yet.

After both of these, I still feel very much in the dark about what makes Catalyst great. I almost feel as if I'm starting at the wrong end. I had a chat with the good people over at #catalyst, and they advised me to buy the book, which I did. Hopefully it will quench my thirst for knowledge.

Next up: Django.

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • Have you checked out the MVC Marathon stuff I started way back when?

    http://chrislaco.com/articles/mvc-marathon/ [chrislaco.com]

    • Have you checked out the MVC Marathon stuff I started way back when?

      No, but I surely will! Thanks for the link.

  • Sometimes you stare at a library - and it is so imperfect - but somehow there is so much happening around it. And I am far from idealizing that - I don't like how the community chooses not the optimal solutions - but you need to accept that. It has to do a lot with the fact that programmers like learning - so when they manage a complex framework it gives them a boost and they don't try to evaluate how really useful it is.
    • Wow, that's a bit more dystopian than I intended my post to be. I'm certainly not saying that I think Catalyst is imperfect. I'm saying that they have worse PR than RoR. Much worse. Maybe it was a mistake to look at RoR before Catalyst -- maybe I'd have been more impressed by Catalyst if I hadn't seen the slick RoR video first.

      Also, one goal of Web.pm -- remains to be seen how well it works -- is to dispassionately investigate other web libraries, looking for sweet spots, and stealing them, thereby setting