[Seaside] another reason Rails gets market share andSeasidedoesn't
ramon.leon at allresnet.com
Wed Jul 18 17:35:25 UTC 2007
> Seaside may not be for beginners, but that does not mean you
> shouldn't try to lower the entry barrier or minimize the
> learning curve. Even experienced developers may have a hard
> time if they come from a Java or C background.
> Not everyone in the world is an object-oriented guru.
Maybe not, but if you aren't pretty good with OO, Smalltalk really isn't the
language you want to be in.
> Seaside should not take an "elitist" position (an undesirable
> word I pointed out in the "new Seaside homepage" thread). It
> should be accessible to the broadest web development
There's nothing elitist about recognizing the simple truth that beginners
and experienced programmers want different things from a framework and
targeting both is very difficult.
> It should share the same aspirations as Ruby on
> Rails, which is trying vigorously to conquer the world (and
> apparently making huge progress!).
I have to disagree, if I shared those aspirations, I'd use Rails. Seaside
is targeting a different market than Rails, and it's doing pretty well as
is. The community only needs to be large enough to ensure its survival, it
hardly needs to conquer the world. Bringing a framework to the *masses*
would involve dumbing it down, something I'd rather not see.
A good example from the Rails community is scaffolding, a feature even DHH
regrets including. It's the wrong approach but newbies flock to it, and
abuse it, and then complain when *scaffolding* isn't fit for production.
Well duh, that's why it's called scaffolding. Yet, it's probably the number
one thing that makes people try rails. Without scaffolding, Rails wouldn't
be nearly as popular as it is, but it'd probably be a better framework, with
a community less likely to shoot themselves in the foot with bad code.
Templates and scaffolding are features that makes things easier for the
beginner, but they're the wrong approach because they encourage copy and
paste programming. Reusable components are a much better approach but
customizing them usually requires subclassing and overriding and makes for a
much less effective 15 minute screencast demo. Making a framework easier to
use doesn't automatically make it better.
Convention over configuration is nice, if you agree with the conventions,
but I'd rather work in a framework like Seaside that allows me to develop
and use my own conventions, and more importantly, gives me the ability to
reuse them in every project because it has *real* components.
More information about the Seaside