8 May 2003 RickMuller   » (Journeyer)

Large vs. Small, Redux

Once again I'm musing on Large vs. Small Software Solutions, something I wrote about in one of my first posts here, and something that I still haven't found a good solution to.

Again the question comes down to Zope versus CGI for web applications? Or, rather than Zope, any large framework. And it's not just limited to web applications, obviously. In almost every program I write, I have to decide which softare libraries I'm going to link against. Because I write in Python, for the most part, that choice boils down to which libraries I'm going to require the users of my programs to have installed on their computers before they can use what I write. Do I want to require a large library like SciPy, that offers lots of neat functionality, some of which could be useful to me, but that also requires a difficult install process? My own choice, in this case, is not to use SciPy, despite some neat toys that I'd like to have in PyQuante.

The simple (and simplistic, IMO) answer is that you use the smallest software solution that gets the job done. The problem with this answer is that software applications tend to grow over time, and something that may be simple enough at the start of a project may not be adequate at project maturity. One might be able to serve a web application using hand-written HTML and a few CGI scripts at the start, but what happens when the client wants an integrated database? Perhaps starting with something like Zope is a better approach.

I end up doing the worst of all possible worlds: I change my mind on this every few days/months!

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!