News for hackers. Stuff that matters.
Re:Clojure Error Messages Are Accidental by abc_lisper on Saturday June 30, 2018 @11:48AM (#17431238)
That’s not true at all. I have built pretty big applications in clojure, and it’s been nothing but joy to use. There are times when I don’t know how I came to a situation, but that’s very rare. Most of the time I make a large change and it works on the first try; brings a smile to my face every time.

I think, I may be wrong here, clojure works very well for people with a little bit of experience and those who think things through before they write code.

I have my guards when I write clojure though. I always write tests, and in the beginning I used to make small git commits, though I don’t need to do that now anymore.

Re:Clojure Error Messages Are Accidental by hota_mazi on Saturday June 30, 2018 @01:18PM (#17431673)
> That’s not true at all. I have built pretty big applications in clojure, and it’s been nothing but joy to use.

I'm happy for you but your experience doesn't invalidate my claim.

> clojure works very well for people with a little bit of experience and those who think things through before they write code.

All languages work well for people who think before they write code.

Clojure makes that harder than necessary, though, being dynamically typed.

Re:Clojure Error Messages Are Accidental by abc_lisper on Saturday June 30, 2018 @01:24PM (#17431701)
Hmm. I can’t disprove theoretically what you said. Practically, it is much easier to build a large scale application in clojure, than say, java.
Re:Clojure Error Messages Are Accidental by d4mi3n on Saturday June 30, 2018 @02:18PM (#17431974)
Going to have to disagree with you there—if for no other reason than the tooling around Java is much more robust and available than for Clojure. I’m thinking static analysis, IDE support, fuzzers, linters, etc.

Clojure has potential, but the lack of good feedback when things go wrong makes it _very_ hostile to users of the language, especially when first trying to pick it up.

Re:Clojure Error Messages Are Accidental by emidln on Saturday June 30, 2018 @02:56PM (#17432178)
I've worked with large Java applications and large Closure applications. The effectiveness of the tooling in clojure, in particular Emacs and nREPL-based tooling, makes local and remote programming and debugging, even in production miles better than anything I experienced in Java. I don't remember how it was when I started, but as an expert user (the only case I particularly care about), nothing I've tried except Common Lisp approaches Clojure.
Re:Clojure Error Messages Are Accidental by didibus on Saturday June 30, 2018 @02:43PM (#17432101)
I guess all we can do is provide our individual datapoints. From my experience, I find it much easier to do so with Clojure. Systems generally last longer, almost never need refactoring, accumulate a lot less tech dept, and easily accommodate future requirements when written in Clojure as opposed to Java. I come from a team who has a 50/50 set of systems in java and clojure, been the case for 3 years. Team size averages around 8 devs.

Tooling in Clojure is actually pretty great. Generative testing, linters and IDEs I find work better then in Java personally.

Where I agree with you is learning curve. Clojure is definitly difficult for new users to pick up. The community and core team I think are more focused on improving that now then ever though. So hopefully it'll change. Also, I'm not sure hostile is a good word, if anything, the best part about Clojure is the community is actually really nice, helpful and supportive, even to new users. There's no trolls, and a lot of great open dialogue, active members ready to help you on chat and forums at all times, etc.

Re:Clojure Error Messages Are Accidental by BWStearns on Saturday June 30, 2018 @07:00PM (#17433186)
As an aside: which linter do you use? Been looking for one.
Re:Clojure Error Messages Are Accidental by didibus on Monday July 02, 2018 @12:30PM (#17443051)
I always have my projects setup to use Kibit and Eastwood.

And depending on my editor, I might use Joker for syntax checking as I type. Cursive has pretty good inbuilt linting too.

Re:Clojure Error Messages Are Accidental by abc_lisper on Saturday June 30, 2018 @02:43PM (#17432106)
True, but I don’t need most of the those tools. Static analysis is most useful when working on large teams. When 3 or 4 people are working on a project, it is mostly unnecessary. I’m not saying error messages are not useful, or static analysis isn’t, they are, but not as much as people are thinking here(wrt clojure)

There is 3-5x difference in productivity between java and clojure most of the time, just because I don’t have to read a lot of code to make a change. Clojure, written right, feels like math equation on a board. My eyes don’t dart around up and down figuring out the code. It is terse, to the point and immutable.

It is subjective, but clojure vs Java is like doing math with Arabic numerals vs doing them with Roman numerals. I’m sure we need lot more help when doing math with Roman numerals, but that level of help is simply not necessary, and is more about the medium than the message

Re:Clojure Error Messages Are Accidental by hota_mazi on Saturday June 30, 2018 @05:57PM (#17432944)
> Practically, it is much easier to build a large scale application in clojure

There is a vast amount of evidence that shows the opposite. Most of the code bases you use on a daily basis today, such as Google, Amazon, eBay, etc... are built on Java.

Very few (if any) are built on Clojure.