[cgiapp] size of scripts and dependencies

Stewart Heckenberg stewart.heckenberg at gmail.com
Fri Sep 18 10:37:12 EDT 2009


I don't care so much about dependencies but whether my code is easy to
write and maintain. For me that's about knowing where all the bodies
are buried, and by that I mean keeping the number of moving parts to a
minimum and not having a lot of scaffolding. That said,
CGI::Application trumps most other frameworks because at its heart
it's CGI and it's about using subs instead of epic if/else nests. I
don't even care if CGI::Application could be smaller in terms of lines
of code, because for me it's about being smaller conceptually, and
nothing to do with lines of code or memory/disk footprint. Anyway,
there's my in-depth analysis -- if anyone likes I can provide a really
nice looking chart or something to back up my "data" :D

2009/9/19 P Kishor <punk.kish at gmail.com>:
> Very good points Michael. My response to some of them below --
>
> On Fri, Sep 18, 2009 at 8:47 AM, Michael Peters <mpeters at plusthree.com> wrote:
>> On 09/18/2009 09:33 AM, P Kishor wrote:
>>>
>>> But, now that we are done
>>> comparing our overweight weight to a morbidly obese weight, how about
>>> CGI::App on its own? To my completely uninformed mind, loading 40,000+
>>> lines to create a small web page sounds like a lot... and, that
>>> doesn't even include the web server and the Perl interpreter!
>>
>> But that's not what you tested. You tested Titanium which is not CGI::App.
>> It's an opinionated framework based on CGI::App and it's plugins. If you
>> just want to create something that makes "small web pages" then just load
>> CGI::App and it's dependencies.
>
> Actually, I did not test Titanium (I only invoked it as an example). I
> tested my own application that is cobbled together with the various
> bits and bobs of CGI::App and various plugins.
>
>
>>
>> Also, let's look at those numbers:
>>
>>  DBI - 7824
>>  CGI::Simple - 3900
>>
>> That's 1/4 of all those lines just right there. And if you're going to use a
>> database you need DBI. And if you're going to make a web app you need a CGI
>> interface module (like CGI.pm or CGI::Simple) so I don't see a way to remove
>> those.
>>
>
> I guess that is what I was trying to get at... one of the things that
> many Perl modules (and CGI::App as well) make a big deal about is how
> simple scripts are once you use those modules... for example, the oft
> quoted example of WebApp.pm and instance script being only a couple of
> lines. Well, in reality, all the plumbing is still there, just under a
> carpet.
>
>
>> Also, you're counting just raw lines which means you're counting comments
>> and whitespace (which penalizes modules which are well commented). I'm not
>> saying your criticism isn't valid, I'm just saying that your data is too
>> flawed to support that criticism :)
>
>
> Yes, my data are too flawed, but the criticism is still valid. But,
> instead of kvetching in the wind, I will actually try an experiment. I
> will remove all the comments from the modules that I am using (call
> them the "production versions," analogous to the packed/minified
> Javascript packages floating around), and even try to squish them into
> one file. I am curious as to what I end up with.
>
> Nevertheless, thanks for indulging with me in this argument. Your
> points are very valid.
>
>
>>
>> --
>> Michael Peters
>> Plus Three, LP
>>
>> #####  CGI::Application community mailing list  ################
>> ##                                                            ##
>> ##  To unsubscribe, or change your message delivery options,  ##
>> ##  visit:  http://lists.openlib.org/mailman/listinfo/cgiapp    ##
>> ##                                                            ##
>> ##  Web archive:   http://lists.openlib.org/pipermail/cgiapp/   ##
>> ##  Wiki:          http://cgiapp.erlbaum.net/                 ##
>> ##                                                            ##
>> ################################################################
>>
>>
>
>
>
> --
> Puneet Kishor http://www.punkish.org
> Carbon Model http://carbonmodel.org
> Charter Member, Open Source Geospatial Foundation http://www.osgeo.org
> Science Commons Fellow, http://sciencecommons.org/about/whoweare/kishor
> Nelson Institute, UW-Madison http://www.nelson.wisc.edu
> -----------------------------------------------------------------------
> Assertions are politics; backing up assertions with evidence is science
> =======================================================================
> Sent from Madison, WI, United States
>
> #####  CGI::Application community mailing list  ################
> ##                                                            ##
> ##  To unsubscribe, or change your message delivery options,  ##
> ##  visit:  http://lists.openlib.org/mailman/listinfo/cgiapp    ##
> ##                                                            ##
> ##  Web archive:   http://lists.openlib.org/pipermail/cgiapp/   ##
> ##  Wiki:          http://cgiapp.erlbaum.net/                 ##
> ##                                                            ##
> ################################################################
>
>


More information about the cgiapp mailing list