On Thu, 9 Sep 2010 12:04:34 -0700 (PDT)
Luke Renn <luke.r...@gmail.com> wrote:
> On Sep 9, 1:40 pm, Mike Meyer <mwm-keyword-googlegroups.
> 620...@mired.org> wrote:
> > The thing is, I'm evaluating clojure - that's what drags clojure into
> > it.
> What exactly are you evaluating Clojure for?  Because unless it's
> teaching elementary school children, the LOC it takes to deploy a
> hello world webapp is irrelevant.

Here I thought I could save time by choosing a nice, simple example
application that everyone would understand, rather than spending a lot
of time explaining (or abstracting out) irrelevant details of some
real-world application before asking the question about the overhead
required to deploy java web apps.

Instead, I seem to be spending a lot more time explaining what
"example" means.

Ok, lets use a different example. I'm going to deploy a web app. Let's
call it SuperDuper. It's going to take two arguments. The first
argument is used to locate, lock and load a collection of data. If the
data is already locked, it just spits out an error. If the data isn't
locked, it uses the second argument to process the data IN A WAY FOR
WHICH CLOJURE IS IDEAL, possibly changing it, and finally spits out
it's a result. I expect the initial version to have to handle no more
than a few hundred requests a day while we do usability testing, and
decide if we want do any further development.

Now, given that I have a clj file that implements (SuperDuper
datalocation processingdirective), how much manure do I have to spread
around it to get it to grow into a functioning web app deployed on
your favorite web server? The key word is "on" - we may want to run
more multiple variants, and don't want to have to deal with multiple
servers. Further, if this works, we'll be working on other, similar,
applications. All of which means we run one server and put
applications on it, rather than putting every application on it's own
server.

If I wrote this in any language that plays well in the Unix
environment (which lets out a lot of LISP-like languages), on most any
reasonable Unix server, the answer is "Create an executable and name
it properly." Java-based languages seem to have trouble with the first
step (which is why I'm willing to consider *your* favorite server),
much less the second one.

FWIW, most of the languages I use can do the "run our own private
server" hack. They usually take a little more overhead code than
Ring. On the other hand, writing a rock-stupid http server that just
does sockets and query parsing doesn't take a lot more overhead than
Ring. But for reasons previously stated, this case is uninteresting.

      <mike
-- 
Mike Meyer <m...@mired.org>             http://www.mired.org/consulting.html
Independent Network/Unix/Perforce consultant, email for more information.

O< ascii ribbon campaign - stop html mail - www.asciiribbon.org

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to