[Catalyst] Why scaffolding? Validation and Learning

Paul Wallingford paul at cybergestalt.net
Thu Aug 17 19:24:38 CEST 2006

Simon Wilcox wrote:

> I nearly threw Catalyst out of the window whilst fighting with one of the
> earlier tools (I forget which, call it traumatic amnesia :) as I just
> couldn't get it to do what I wanted it to do. Not understanding enough
> about what was going on under the hood meant that it was virtually
> impossible to figure out what was going on.
> In the end I went back to first principles and did things by hand. I think
> of it as a bit like learning to drive, you need to understand the basic
> principles before you can take shortcuts. This is the opposite of having
> training wheels on your bike of course, when you start simple and get more
> complicated. The problem with the latter approach is that you need to have
> a progression from simple to complicated and the scaffolding helpers just
> didn't give me that, it was all or nothing.

I'm glad someone brought this up.  I have always found it is important 
to know what is going on under the hood.  Even with languages, like 
Perl, when you start to get an understanding of how things work 
internally, suddenly you are much more productive.

The "magic" Ruby on Rails videos show some impressive stuff.  I 
guarantee that the person in the videos is an expert.  I also guarantee 
that despite my decades of programming experience, having not used RoR 
before, there is no way I can pick up RoR and make a blog in 5 minutes. 
  5 days, maybe.  Second time around would be much shorter, of course.

The next level would be to describe what you want in human language and 
have the software generate the app.  Obviously we are not there yet. 
The software is still dumb.  It takes the form of helpers.  "Magic" 
helpers without sufficient intelligence inside are more of a hindrance 
than a help.

There are two types of busy work: work that is pretty much common for 
any development task and work that is based on the style of a particular 
developer and thus not as much use to other developers.  The crux in 
developing a scaffolding is to include helpers for the first type of 
work and the ability to "plug-in" the second type.

Paul Wallingford

More information about the Catalyst mailing list