i really like clojure. for me, it's not about the lisp - it may sound crazy, but it's a better python. lazy sequences are nicer to use than generators, and i don't need to worry so much about mutation.
seriously. that's how i am describing it to co-workers: a better python. that should have been scheme, i guess, but it lacked the lazy sequences to get over the "ewww parens" hill. if you're a python user that's starting to appreciate the power of generators you owe it to yourself to look at clojure.
the one thing that drives me crazy is the state of libraries: finding the right library for the right version, and then finding where the pom is. i wish that could be clearer (less confusion about versions and more direct pointers to poms/repos/IDs).
[not sure if it's relevant, but python never had a killer app. i guess it is an "unconvincing" language too...]
I think this is apt. When I learned Clojure, I had the same thought that it is a better Python.
Once you gain paren blindness, Clojure code starts to look a lot like Python. Macros, immutability, real concurrency, destructuring all make for a much nicer experience.
That being said, Clojure just feels like a nicer Python and for me and others, Python is just fine, so why change? Concurrency is one of the promised gains in CLJ but beyond software STM, Clojure doesn't gain you much. You're still using cumbersome threads so why bother. In fact I've moved on from Clojure and started writing Erlang for highly concurrent applications. It is much more appropriate for building concurrent, robust applications. I still write a fair amount of Python for web development.
I would say Python's killer app is its massive library -- the size and quality has few rivals. No doubt Python's readability and approachability contributed to this.
While I love Python, I always worry about any language that resorts to this argument, since the lack of libraries is the easiest problem for a language to fix. I still remember hearing (and believing) that Python would never be as popular as Perl, since Perl had far more libraries.
If you mean its built-in standard library - in some cases, it's just a place for code to rot and stagnate. Ubiquity comes at the cost of massive friction to update.
seriously. that's how i am describing it to co-workers: a better python. that should have been scheme, i guess, but it lacked the lazy sequences to get over the "ewww parens" hill. if you're a python user that's starting to appreciate the power of generators you owe it to yourself to look at clojure.
the one thing that drives me crazy is the state of libraries: finding the right library for the right version, and then finding where the pom is. i wish that could be clearer (less confusion about versions and more direct pointers to poms/repos/IDs).
[not sure if it's relevant, but python never had a killer app. i guess it is an "unconvincing" language too...]