
Benefits of using Clojure (Lisp) in web/enterprise development - fogus
http://bitumenframework.blogspot.com/2009/09/benefits-of-using-clojure-lisp-in.html
======
Maciek416
We've tried using Clojure for even basic web application development but all
of the web-ish frameworks and libraries out there (eg: Compojure) extremely
early in their development.

Building a web application in Clojure right now seems to involve a large
amount of re-inventing the wheel. Meanwhile, we can just switch over to Rails
and have stuff working in minutes.

Does anyone have any personal anecdotal evidence that Clojure's benefits
outweigh this chief drawback at this time? What are the chances that Clojure
will ever be where Ruby (with Rails) is now?

~~~
arohner
My startup is using Clojure, for a webapp that is heavy in AI/statistics.

Yes, compojure is early, but for us it has been totally worthwhile. A lisp
that has 1) a fast implementation 2) excellent support for parallelization and
3) well supported web servers has been a huge win. We have had to reinvent a
few wheels, but I would much rather re-invent e.g. user logins than Clojure +
the JIT, debugger & profiler support of the JVM.

Clojure is going to get better webapp support, Ruby isn't going to get better
at number crunching or parallelization or get rid of its warts. So yes, we've
been very happy.

~~~
nearestneighbor
> Clojure is going to get better webapp support, Ruby isn't going to get
> better at number crunching

Is Clojure good at that? Or do you use Java for actual heavy lifting?

Why not Python with its many numerical libraries (numpy, scipy, etc.) ?

~~~
sunkencity
The big benefit here is that clojure is concurrency safe, where python is not.

------
shantanu_k06
I am the writer of the article in question, and probably I can answer some of
the points raised. (I noticed this entry late through the HackerNews RSS
feed.)

@Maciek416 : I can relate to what you said. I am working on this --
<http://code.google.com/p/bitumenframework/>

@mahmud : I can understand your frustration. My target audience were Java
people unaware of LISP/FP & benefits.

@jimbokun : I agree with what you said. The reason I said "lots of
parentheses" is that's how most LISP newbies perceive it. I wanted to get
people to agree with what I said before I can expect them to adopt. In a
friendly way.

@yannis : I think even Rich Hickey's PDF was great. ;-)

~~~
gruseom
_LISP newbies_

Irony alert.

Edit: ok, I lasted 4 minutes. I can't in good conscience be another Lisp
asshole. My point is that no one who uses Lisp has spelled it "LISP" for
years.

~~~
shantanu_k06
Oops! My fault. Since I am not a seasoned Lisp hacker (actually I am only a
Clojure newbie), my subconscious filter didn't automatically detect it. I
remember having read that distinction somewhere earlier. Thanks for the
reminder. :-)

~~~
gruseom
Now you are an initiate. :)

------
mahmud
Who is voting this up? the article has absolutely zero content. It just
repeats what everybody already knows.

I say this as an enterprise/web Lisp developer ;-)

~~~
icey
My assumption is that not everyone is an enterprise/web Lisp developer - is it
possible the content may be interesting to those who aren't?

~~~
mahmud
I would love to encourage submission of articles on Lisp dialects, but this
one is completely useless. Nothing you couldn't have learned from the
wikipedia page on clojure or any other Lisp.

[Edit:

It's not the writer's fault, he might have had a different audience in mind,
but the submitter should have known better.]

~~~
icey
Well, the question is one of discovery, right?

Posts like this one are useful for people who don't have Lisp on their radar
yet. They've heard about Clojure and how it's awesome, but they think "I don't
have a problem that requires functional programming", or they hear about the
awesomeness of Common Lisp, and they think "I don't want to learn emacs".

I think there's value in spelling out the obvious because there will always be
new eyes around to read it. In the worst case, it's a few paragraphs that are
obvious to to someone who has any familiarity with Lisp. In the best case, it
brings someone new to the table.

------
jimbokun
"(j) last but not the least lots of parentheses :-), which are actually a lot
friendlier than they may seem at first (to the extent that they are actually a
feature to help reduce syntax clutter)"

Rich Hickey made a point of the fact that Clojure's macros for calling Java
methods can require _fewer_ parentheses than the same calls written in Java.
So, helping reduce syntax clutter is right. But "lots of parentheses" maybe
not as true as people assume. They are just more noticeable in Clojure because
Java has so many other kinds of boiler plate that make all the Java
parentheses less noticeable.

------
yannis
The only information of value in the article is the link to PG's article
(<http://www.paulgraham.com/avg.html>).

