Lot of people claim that STM in Clojure is the big reason to use it. To me it's been a lot simpler:
a) I want some macros to use for JVM-based projects
b) I like using Emacs + SLIME (it's the best development environment, period).
Unfortunately the noise of Rails fanboys migrating to it with their usual laundry list of complaints ("no IDE support", "no good web framework") is annoying. I have nothing against Ruby in general (in fact I really like the language) and Rails in specific (I know people who love it), but the whole reduction of programming languages to merely web frameworks is a setback for software engineering. That mindset has now been spreading: not only is it impossible to hear about Ruby without "Rails" mentioned next to it, it's now common to hear "Python/Django" and "Scala/Lift".
Web is just a UI layer, a fairly mundane and boring part of an application. Lisp has very little to show for these sorts of applications, but has a lot to show for more science/engineering intensive ones. You hear all the time about webapps being re-written into PHP and other blub languages, but the community is interpreting it as a setback for the languages (and an argument in favour of using blub from the start) rather than the fact that advanced language features make really little difference for web development.
Are "Rails fanboys" really complaining about lack of IDE support? I was under the impression that IDEs weren't especially popular among Rails programmers (as compared to Vim and TextMate).
Yeah, I should probably have been less vitriolic and more refined. The IDE complaints mostly come from Java migrants and people who are looking out for the newbies. Honestly, using an IDE (or at the other extreme, vi) for a Lisp is like using Latin to write in Russian: you can do it, but you're better off if you take some time initially to learn Cyrillics.
(Doug Hoyte disagrees with me on the vi point, arguing in his book that Lisp is expressive enough not to require any editor support. I respectfully disagree.)
I don't think strlen is being accurate by saying its "Ruby fanboys" who are the source of a lot of criticism. Clojure does have a lot of former Java developers who aren't used to non-IDE development on the JVM. Others don't like the apparent complexity Emacs comes with (Emacs, Slime, Swank, Paredit? All I want to do is enter some ascii characters and run a compiler!) That said, I think Clojure is improving in those fronts with broader editor support, guides to getting Emacs set up, and a growing list of libraries.
I think there's at least one clojure plug-in for each of the main Java IDEs:
Enclojure (NetBeans)
Counterclockwise (Eclipse)
La Clojure (JetBrains)
The other thing that has really improved immensely is "project management" (right term?) provided by Leiningen. Now you can basically do "lein new proj_name", then edit a simple config file in the created directory and do "lein deps" to get all the packages that you referenced.
Plus "lein swank," which once you've got slime set up is an absolute godsend. The two things I do first on a new machine are install clbuild to get slime and the emacs config, then leiningen to get clojure working. It does make things nice and simple.
a) I want some macros to use for JVM-based projects
b) I like using Emacs + SLIME (it's the best development environment, period).
Unfortunately the noise of Rails fanboys migrating to it with their usual laundry list of complaints ("no IDE support", "no good web framework") is annoying. I have nothing against Ruby in general (in fact I really like the language) and Rails in specific (I know people who love it), but the whole reduction of programming languages to merely web frameworks is a setback for software engineering. That mindset has now been spreading: not only is it impossible to hear about Ruby without "Rails" mentioned next to it, it's now common to hear "Python/Django" and "Scala/Lift".
Web is just a UI layer, a fairly mundane and boring part of an application. Lisp has very little to show for these sorts of applications, but has a lot to show for more science/engineering intensive ones. You hear all the time about webapps being re-written into PHP and other blub languages, but the community is interpreting it as a setback for the languages (and an argument in favour of using blub from the start) rather than the fact that advanced language features make really little difference for web development.