[NTLUG:Discuss] what is the best Linux web page developing tool?

Richard C. Cobbe cobbe at directlink.net
Wed Mar 21 14:46:12 CST 2001


Lo, on Tuesday, March 20, Christopher Browne did write:

> On Tue, 20 Mar 2001 12:50:00 CST, the world broke into rejoicing as
> "Richard C. Cobbe" <cobbe at directlink.net>  said:

> > Call me old-fashioned if you like, but I'm a big believer in "the
> > right tool for the right job".  Seems to me that using PHP to
> > generate static content is a bit like using a semi-trailer to
> > transport a single mass-market paperback.
> 
> Absolutely.
> 
> Likewise, I'd think it similarly silly to resort to Java Server Pages
> when building static content.

Oh, of course---PHP was simply a convenient example.  The same applies to
ASP, JSP, mod_perl, BRL, and so forth.

> An interesting example is the Yahoo! Store.  It is probably the most
> well-known example of a sizable web site implemented using Common
> Lisp.  Strangely enough, it apparently uses CLISP, which is one of the
> least high performance implementations out there.  But, oddly enough,
> this _doesn't_ hurt performance.  
> 
> Paul Graham, creator of this, lists "Dynamic Generation" as one of the
> top ten mistakes <http://www.paulgraham.com/mistakes.html> of web
> commerce.
> 
> And he follows this principle; the way Yahoo! Store works is that a
> batch job runs periodically to run the Lisp code to create HORDES of
> static web pages for the store.  The interpreter may be pretty slow,
> but it runs at 2am when everyone's asleep, so _WHO CARES_.  :-)

That, Chris, is an absolutely *wonderful* example---and not just because
they use Lisp!  ;-)

I think the key point here is not whether the web pages are written by hand
or whether they're generated by a program.  Rather, the point is when (or,
more precisely, how often) these pages are generated.

With PHP or JSP or whatever, a page is re-generated (so far as I know)
every time someone visits the page.  The CLISP system described above does
it only once per day (or week or whatever).

For some situations (like, say, a Slashdot article page, which changes
frequently), generating the page anew for each hit is necessary.  This
does, however, have two major drawbacks:

1) increased load on the server (whether it be CLISP, MzScheme, PHP, ...),
   which translates into a reduced ability to serve pages

2) You've got that many more pieces of software which have to fit together
   in order to make the whole system work.  As a result, things are likely
   to break more frequently, and it's likely to be harder to fix things
   when they do break.

I tend to get annoyed about #2 more than I do #1, but then my income
doesn't depend on the number of hits my web server can process.  YMMV.

Richard



More information about the Discuss mailing list