[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