Hacker News new | ask | show | jobs
by hcarvalhoalves 3311 days ago
The examples you raised are all - I believe not by coincidence - related to how Clojure interact with the host platform (both Java and Javascript). It simply doesn't shield you from it. As a consequence tracebacks bubble up, and you're expected to know how to debug it, and hopefully use the debugger of the host platform. This is aggravated on JS since JS exceptions mean nothing most of the time.

clojure.spec (launching on 1.9) will allow better error reporting on some cases, but the philosophy of the language has always being about giving you a lot of power vs. shielding you from complexity.

Also, a lot of people being introduced to Clojure from a Ruby background (and others, ofc) are having to learn simultaneously about: functional programming, Lisp, immutable data structures, the internals of JS/JVM, advanced concepts like STM, CSP, and a whole host of new libraries. That is a steep learning hill, specially if one bought the argument that programmers are snowflakes who can't take frustration. Once you're on the other side though, the complex, messy real-world projects become more amenable, because Clojure was created thinking about those. That's what Rich meant by "Simple ain't easy".

IMHO, working at a company w/ a codebase of ~150 projects written in Clojure, the productivity has paid off w/ interest though.

2 comments

> specially if one bought the argument that programmers are snowflakes who can't take frustration.

I think that characterising a (clearly knowledgeable, well-referenced) account of frustrations - especially ones that do not occur in other languages - with the dismissive term "snowflake" is exactly where the stereotype of the "smug Lisp weenie" comes from.

I have used and loved Clojure for years now (I wrote the patch that made Clojure vectors implement java.util.List, back in the pre-1.0 days). The fact that these problems exist doesn't itself give me existential worries about the future of the language. The fact that almost every Twitter thread in the OP, and the parent comment, contained this sort of dismissive reaction makes me very worried indeed.

If we replicate the community of Common Lisp, we will end up replicating its level of industry adoption.

> If we replicate the community of Common Lisp

Peter Norvig, Paul Graham, Dan Weinreb, Edi Weitz, Jans Aasman, Patrick Winston, Kent Pitman, the people from Clozure/Franz/LispWorks/..., and many many others.

That would be hard to replicate.

And yet, even these luminaries were insufficient to propel significant industrial adoption in the face of a famously hostile/arrogant/condescending community. The same fate befalling Clojure would be terrible.
I find such a comment very hostile, arrogant and condescending.
Exactly my cliché of the Clojure community: a discussion about simple things like testing and tooling becomes a place to brag about some random features of Clojure. Insulting my patience (or the original author) on the way is a new one.

You're just confirming my last point, professional Clojurist? Enjoy it. Others, be warned.