Hacker News new | past | comments | ask | show | jobs | submit login

Do you like lisp(s)? Do you like the flexibility it provides?

If no, you probably shouldn't care too much about clojure. There are other languages which can help you with the same problems as clojure.

If yes,

do you find that Common Lisp is carrying too much legacy baggage?

or

that the various lisps lack the libraries you need?

or

that you can't use lisp for the jobs you want to because the infrastructure is considered too esoteric by those you answer to?

If yes to any of those,

clojure runs on top of the jvm and can be installed in a normal jvm infrastructure which many companies already run. It interoperates quite well with java so you have a vast array of existing libraries. it removes a lot of legacy burden that many lisps have.

that would be my quick primer on why you might care.




  > Do you like lisp(s)? Do you like the flexibility it provides?
You don't have to like lisps to like Clojure. In fact it's just irrelevant. There are plenty of people in the community for whom Clojure is their first lisp.

The questions should be:

  * Do you like dynamic languages ?
  * Do you interactive languages ?
  * Do you hate wasting time recompiling your entire program 
    in your static language for a small change?
  * Is your dynamic language too slow ?
  * Do you want concurrency to be like child's play ?
  * Are you tired of depending on immature libraries ?
  * Do you want an evented webserver like Node.js that 
    doesn't force you to write callbacks?
  * ... etc ...
Your list is the completely wrong set of questions to be asking when considering Clojure.

EDIT: it's not that Clojure being a Lisp is not important. It's just not the first question I would ask myself when considering to adopt. My questions are specific to the process by which I want solve problems in a particular domain. The fact that is getting upvotes shows just how surface of an assessment people make when looking at Clojure - "Oh ... it's a Lisp".


This reads like:

  * Do you like puppies?
  * Do you hate murder?
  * Would you like something like the tool you're using right now, but better?
That's not to say Clojure is irrelevant, but your questions are more than a little one-sided.


Except I have answers for those questions. And those influence my decisions in real life. I like puppies. And I abhor murder.

Anyways, my questions are exactly the set of questions that led me to Clojure. Honestly, the main advantage of Clojure being a Lisp is macros. And I didn't bother mentioning those, because that's not something most programmers need/want (not without understanding how they work).

I think my list a pretty real list of things that many programmers want after some experience that Clojure satisfies that other languages do not, or not all at the same time.


I would like a better tool than the one I am using to kill puppies right now.


Or it may be that clojure truly rocks ;)


I have found lisps to be one of the more polarizing languages when it comes to opinion. Most people who have experience with one, either love them or hate them.

You are correct that I didn't address the 'I have no experience with a lisp' crowd at all. I was specifically addressing those who have some experience with a lisp.

If you don't like lisp, I suspect that something like Scala would probably be more to your liking. I'd be very interested to hear from people who use clojure and enjoy it after not liking lisp before starting. I suspect they are few and far between, but I'm open to the idea that all of clojure's pluses ( ease of concurrency, ability to tap into java libraries etc ) might win people over.


I think this is a problem with Lisp people. Lisp is a good language, but their users are too emotional about it. They always think in terms or loving or hating it.

I don't like, for example, reading Lisp books where half of the time is spent on selling the language: why it is the best thing since sliced bread and all.

Just let the features talk by themselves. Nobody needs to be indoctrinated into liking a language. Anyway, at the end, emotions are not gonna decide what language is used in a project.


Thanks for the reasonable and thoughtful reply. This is why I love HN even in the face of pointless downvoting.


since Clojure is a lisp, how can you like Clojure without liking lisp in the abstract? Clojure might be someone's first exposure to lisp, but then they would answer "I don't know if I like lisp or not".


Learning Clojure is a good way to like lisp.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: