On Fri, 30 Nov 2012, Natanael Copa wrote:
> On Thu, 29 Nov 2012 10:57:48 -0500
> Ted Trask <ttrask01_at_yahoo.com> wrote:
>> Can you give an example of the "unnecessary complexity" in the current ACF modules?
> I'll let Kaarle answer to that.
The impression of complexity obviously depends on one's frame of
reference. Mine is Django, which I typically use when creating web
applications. With the amount of code there is in acf-shorewall, I can
write a usable double-entry accounting and invoicing system for small
businesses, complete with a nice web UI. Developing modules for ACF
just feels too painful because the framework does too little to help
in that effort.
The maintenance cost of a software system is an increasing function of
the number of inter-module dependencies and the size of the code base.
In order to minimize those, it is important to choose the most
suitable paradigm for your problem domain, as Timo pointed out in an
I think data-oriented design makes sense for ACF. Good command line
interfaces are data-oriented, and so is SNMP as per protocol
definition. Modern web frameworks, such as Django and Ruby on Rails,
are data-oriented. They also advocate the Don't Repeat Yourself (DRY)
principle, which is partially a consequence of the data-oriented
design. Of course, these frameworks have issues of their own, but
there certainly are things we can learn from.
Received on Wed Dec 05 2012 - 10:12:07 UTC