* Oliver Jones <oliver(a)deeper.co.nz> [2005-04-23 05:15]:
Sometimes over-engineered frameworks can be very
providing a consistent and well tested set of foundations upon
which to build.
I disagree completely. I probably agree with the intent of what
you’re saying, but I can’t let this statement stand as is.
Architecture astronautics lead to a lot of entropy for not much
gain. Frameworks are helpful when they try to address a problem,
not when they try to make you build your application around them.
It is better to start with solid foundations than to
stuff in more solid foundations as an after thought when your
programs requirements expand.
Yes; that is why a framework should try to address its problem
space very thoroughly.
Another example of this is the Template Toolkit, a suite of Perl
modules for, well, templating. It does *everything* and then some
that you’d expect to ever want from a templating system, but you
have to do almost nothing to start using it. You can use as much
or as little of it as you want.
If the framework is good it shouldn't require you
to do a lot
of work to start using it. Log4* is like that. It is
relatively simple to get up and running with it.
Yep. Good frameworks stick to their purpose and come with sane
defaults and a good swath of convenience interfaces. That's what
Log4perl (and probably Log4* in general, which I have no
experience with) is like.
What I was saying is that when I see “flexible application
framework”, that *usually* means there’s some architecture
astronaut at work.