News for hackers. Stuff that matters.
Re:Clojure is Capable by blandflakes on Friday December 28, 2018 @12:54AM (#18775106)
Clojure is a great language. I've used both Clojure and Scala in my personal and professional life.

* In refactoring, I almost always make mistakes in Clojure that Scala will catch. I feel empowered rather than limited by the Scala compiler 9 times out of 10.

* Homoiconicity makes me feel great, but I find I don't actually miss it (directly) in Scala. That said, Scala has a complex grammar, and I miss the overall consistency of s-expressions.

* I always miss static types. I'd love to try the new spec improvements in Clojure 1.10; debugging mistakes prior to that are a nightmare. I don't need static types to be happy, but I do need real tooling support when things go wrong.

Clojure has a lot of lifting power and I would like to keep using it. I find that once I get past type errors, programs work very well. Why would I spend time getting past those if I don't have to?

Re:Clojure is Capable by FPGAhacker on Friday December 28, 2018 @04:13AM (#18775717)
Yeah, I agree with this, other than not having used Scala. Static typing communicates intent to the user of your functions, they help you think about the problem before going all-in.

Rich presented some new ideas for where he wants to take Spec, but I didn't think anything very new made it into 1.10 regarding spec.

Personally I use clojure whenever I can. I can quickly build up a project using the fast and loose data types, and when my conception of the project solidifies, I convert over to records and protocols. That's usually enough to get 80% of the way there. The free and loose ad-hoc data structures get me across the finish line, and it's there that Spec comes into play.

Re:Clojure is Capable by blandflakes on Friday December 28, 2018 @10:27AM (#18777234)
Yeah I think I was thinking of the error message improvements rather than any changes that are specific to Spec in 1.10.