Reading up on MVC, part 2: Catalyst

masak on 2009-07-10T16:00:46

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.


MVC Marathon

jk2addict on 2009-07-10T16:34:36

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

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

Re:MVC Marathon

masak on 2009-07-11T06:24:18

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

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

The community

zby on 2009-07-26T08:38:48

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.

Re:The community

masak on 2009-07-26T11:53:04

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 the quality bar so high in Perl 6 that people will simply expect awesome, and build their own solutions accordingly.