3 ms·
> What's not to like ? When I tried it several years ago: - All the documentation assumed you knew and understood the Java world. You were supposed to know ab
by bachmeier 12y ago
> What's not to like ?
When I tried it several years ago:
- All the documentation assumed you knew and understood the Java world. You were supposed to know about the classpath, how com.this.that.foo.bar works, how Maven works, etc.
- Difficulty communicating with C libraries. This was an intentional choice of the Java creators. Not Clojure's fault, but still a problem nonetheless.
- The error messages made it hard for me to get work done and there was no way I'd expect someone else to use a language with error messages like that.
- Somewhat unstable tools. There would be major changes to the tools, like the Eclipse plugin, and they would not be documented. The contrib libraries changed dramatically with Clojure 1.3. While I'm sure it was fun making the new system, I wasn't happy being unable to use the contrib libraries, because they either didn't work or the documentation didn't exist. A language that introduces major breaking changes without a solid transition plan in place is not one that I want to use.
- The documentation was limited in places. This was a major issue with new releases. It felt to me as though there was a team of core developers that were in the inner circle, so they got to use all the features, but the rest of us got what they decided to share.
- harperlee 12y agoCompletely agree. Documentation is sparse, and blog posts outdated. The error messages don't help, either. Why can't stack traces show arguments, for the love of God? Can I get only my namespaces' traces? I will assume that the language is ok - most of the users won't be capable of diving into it, so just hide it by default...
- codeshaman 12y agoI guess it was still very young when you tried it. Things are better now, there are a couple of good books on clojure, many tutorials and the documentation is good (eg. clojuredocs.org). I've started learning it about 2 months ago and the hardest thing for me was figuring out which editor/IDE to use. There's a bunch of options - LightTable, Emacs, NightCode, IntelliJ+Cursive, vi SublimeText and Eclipse. Some work better than others, but eventually I ended up using IntelliJ+Cursive, which provides project integration, REPL and debugger.
- brudgers 12y agoOne way I think about Clojure is as a language for writing Java macros [in the Excel sense of "macro"]. Sure it's not exactly that, and it's much more besides. Yet. it helps to have a model of Java's type system in my head because the type system leaks into interactions with Clojure. Clojure also relies on Java interop to be 'more general purpose'. Clojure's documentation reflects the decision to target Clojure at the big fat segment of software projects. Not fresh faced grads, but grey hairs. Not pythonistas but Lispers. Better than hyperspec, not better than Racket. The reason it has grown is because it focused on solving real business problems rather than being beginners friendly. The tradeoffs are consistently in the direction of what will make Clojure better for experienced programmers.