Live data from Hacker News

Clojure 1.9 is now available

blog.cognitect.com

21–30 of 121 posts

Re: Clojure 1.9 is now available

#21

Why focus on command line tools? There's already Leiningen which does an amazing job, and Boot for the few use-cases Leiningen doesn't take care of. Creating another CLI seems very strange.

The new tools.deps.alpha and command line tools are focused differently. They are specifically for creating classpath and launching Clojure programs, so do not cover use cases of building or deploying artifacts - for that you should still use a build tool like Leiningen or Boot. (But those tools may actually be able to use tools.deps.alpha.)

However, tools.deps.alpha doesn't restrict itself to a Maven-artifact-only dependency system. It supports an open system of coordinate and provider types of which Maven is one, but also local (no-artifact) dependencies, local jars, and eventually others as well (like using projects directly from Github). All of that vision is not done yet but it will enable many new capabilities.

Clojure is a language that runs code from Clojure source files. It does not inherently require "building" or "deploying" anything. Those are useful tools to interoperate with the Java ecosystem, but we should not limit ourselves to only that means of program building.

Re: Clojure 1.9 is now available

#22
post #2

Can anyone sell me on why I should use clojure over say, any of the other nice Lisp-1s, given that I don't care about java.

I am a big fan of all Lisps (you will pry my Common Lisp REPL out of my cold, dead hands!), but there is only one that which has elevated both my hobby and professional work into a realm I can honestly describe as fun and intellectually stimulating even years after the honeymoon period has waned. That Lisp is Clojure.

Re: Clojure 1.9 is now available

#24
post #2

Can anyone sell me on why I should use clojure over say, any of the other nice Lisp-1s, given that I don't care about java.

I am planning on learning Clojure for essentially two reasons: the community / ecosystem seems very active (which is really my primary reason for picking a programming language; I have no interest in writing something if a library exists), and I've heard good things about a couple of things that distinguish it from other Lisps, like maps and spec.

I'm somewhere between indifferent to unhappy that it runs on the JVM, but it's not a blocker for me. And as someone else mentions, it means there's pretty good access to the Java library ecosystem.

Re: Clojure 1.9 is now available

#26

Why focus on command line tools? There's already Leiningen which does an amazing job, and Boot for the few use-cases Leiningen doesn't take care of. Creating another CLI seems very strange.

/r/atwoodslaw/[0] [0]: https://www.reddit.com/r/atwoodslaw/

Can you explain the relevance of your comment / the idea you're trying to convey?

Re: Clojure 1.9 is now available

#27
post #2

Can anyone sell me on why I should use clojure over say, any of the other nice Lisp-1s, given that I don't care about java.

Something I like about it is that it runs on different vm's: java, .net and js. Not sure how usable the .net part is.

The .net part hasn't released a version on parity with Clojure 1.9 yet, but it is up to date with 1.8. Not many people use it, but it is quite usable. The core was developed by Rich in tandem with the JVM version until Clojure 1.0.

Re: Clojure 1.9 is now available

#28
post #2

Can anyone sell me on why I should use clojure over say, any of the other nice Lisp-1s, given that I don't care about java.

Associative data structures (maps / dicts) are super first-class in Clojure, in a way that they aren't in other Lisp-1's (at least from what I remember of dabbling in Racket). There's a literal syntax for them. Keywords are functions that you can call with a map as an argument. You can destructure them in `let` bindings. And so on. In my opinion, this turns out to be a pretty major win. Code is still data, it's just…

Also on the subject of clojure's data structures, they are all immutable by default (with structural sharing so changes are efficient, not just defensive copys). This greatly assists in writing functional, multi-threaded code.

For original asker, see here for more details: https://clojure.org/reference/data_structures

Re: Clojure 1.9 is now available

#29
post #12
post #2

Can anyone sell me on why I should use clojure over say, any of the other nice Lisp-1s, given that I don't care about java.

I wouldn't try to sell you on it. Languages are tools, so your question is like asking "can anyone sell me on why I should use a flashlight instead of a cheese grater?" I don't know, because I don't know what you're trying to do. Perhaps neither Clojure nor Lisp is appropriate. Basic sales pitch: use the right tool for the job. For many of us, Clojure(Script) is the right tool: a balance of performance, ecosystem int…

You've well captured a sentiment I feel when questions are phrased this way -- "can you sell me on X." Thanks for posting and showing me this. :)

Re: Clojure 1.9 is now available

#30
post #2

Can anyone sell me on why I should use clojure over say, any of the other nice Lisp-1s, given that I don't care about java.

If you're indifferent to Java then you can use a Lisp that just so happens to let you interop with Java libraries which is very very handy. It's also a nice Lisp, tho not as pure or quite as powerful as others. But I'm not very much up-to-date on anything new in the past few years, and I was never a guru anyways, so maybe there are better pitches.

Do you have a favorite accessible guide to comparisons of lisps with respect to purity and power?
Post reply on HN