There are several architectural issues in our code that could be improved; mostly because it was built to CGI.pm era standards which are a hodge-podge, string-manipulation oriented mess. There are dozens of issues in our code that cannot be improved. The average page loads something like 30 subpage/resources, many of which are dynamic because of deep, and legally mandated, permission issues. Lots of heavy data image processing, a dozen encrypted IO and CPU intensive dæmons running all day, indexing and reindexing millions of records all the time, and six or seven different code bases and toolsets glued together. If you suggested customer facing compile on demand code, CGI.pm or otherwise, was viable at work at Google or Amazon or any company with big, deep webapps…

Our code base has north of 30K lines of in-house code—the main code lib file alone has 17K and the main JS file has 10ishK—before a single module or C, Perl, or Java lib is loaded. With persistent execution (and enough RAM to throw at the problem) it’s a non-issue.

I wanted to outline why an MVC framework is better than home-rolled CGI.pm for a couple days. It’s too deep to go into except superficially. It boils down to a professional web application can be written in BASIC, the code library isn’t the issue. You can build a mansion with bronze age tools every bit as well as modern tools, there is no contractor in the world who would voluntarily do so and it would cost a thousand times more. The amount of work, the cost of revisions and changes, the risk of regressions, the ease of testing, the flexibility of deployment, the ease of additions like Oauth or model changes, the free development and support from the community. These things matter more than the actual application. In a framework, 90% of the support details are done for you and tested and continuously improved by dozens if not hundreds of other developers and teams. I am a CGI.pm expert. I’ve written a couple thousand CGIs with it going back to the late 90s; including Intranet stuff at Amazon that was used by thousands of employees. locate .cgi | ack -v COPY | wc -l on this new computer, a decade since I’ve written a CGI for professional reasons, still gives 218. I am not a CGI detractor. I am a webdev supporter.

I would like you consider the hubris necessary to believe that home-rolled code is going to be better, on any level, than what two decades of iterative development, deployment, and testing across several languages by the best developers in each can produce.


In reply to Re^10: Alternative to CGI.pm by Your Mother
in thread Alternative to CGI.pm by sectokia

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.