News for hackers. Stuff that matters.
Re:Clojure: A Lisp that wants to spread by stingraycharles on Monday March 02, 2020 @03:43AM (#22462730)
Most of Cognitect's projects use either Maven or tools.deps, though. I don't think I've see any of them use Leiningen, but perhaps you can show an example?

Anyway, I'm mostly concerned by the fragmentation of it all. It doesn't help that there are now three (or four if you include maven) package / build tools for Clojure. The community is barely large enough to support a single one.

Re:Clojure: A Lisp that wants to spread by dragandj on Monday March 02, 2020 @04:56AM (#22463045)
Does it matter when all these tools are compatible (on the level of artifacts and distribution repository)?
Re:Clojure: A Lisp that wants to spread by stingraycharles on Monday March 02, 2020 @05:17AM (#22463147)
For the experienced user, it doesn't matter. But for the newcomer, it's one more additional choice to make, and, as the grandparent said, is in sharp contrast to a "batteries included" approach you see in Python. Given that build tooling is one of the more frequent complaints, more fragmentation in this area is undesired.
Re:Clojure: A Lisp that wants to spread by dragandj on Monday March 02, 2020 @05:45AM (#22463283)
It's funny that you mentioned Python :) https://wiki.python.org/moin/ConfigurationAndBuildTools
Re:Clojure: A Lisp that wants to spread by stingraycharles on Monday March 02, 2020 @06:34AM (#22463528)
Are you saying that just because there is a choice of configuration build tools and utilities for Python, the argument that there is a standard way of doing things is invalid?

If I want to start a Python project, I `pip install -r requirements.txt` and I can start using it. In Clojure, I need to choose which tool I want to use to perform this simple task, in Python this is standardized. Leiningen, Boot, tools.deps and Maven are all candidates to do this.

Re:Clojure: A Lisp that wants to spread by dragandj on Monday March 02, 2020 @09:34AM (#22464722)
There is such de-facto standard in Clojure too. just do `lein`. + even if you choose another build tool, it is:

1) compatible 2) if you're a newcomer, you probably only need a few dependencies, which is configured in the same way as lein's `project.clj`

I mean, I agree that there definitely is a need for better guides for Clojure and defaults, but I don't think that is the reason Clojure is not more popular, and that Python is simpler there. If I encounter Python for the first time, I definitely won't know that I just "pip whatever".

I actually think that Clojure is very popular, given that there is no big Co that pushes it, and that it still doesn't have a widely known killer app. Most other popular(ish) languages are mainly popular due to huge push by a single big corporate sponsor.

Re:Clojure: A Lisp that wants to spread by billfruit on Monday March 02, 2020 @09:44PM (#22471346)
But as I said, lein is not distributed with clojure, and installing lein on Windows is not straightforward.
Re:Clojure: A Lisp that wants to spread by devin on Monday March 02, 2020 @04:06AM (#22462838)
For the most part I’m not sure it matters. What specific problems have you had as a result of fragmentation in clojure project build tools? I don’t much care what the name of the command is: if running it produces an artifact I can depend on and use in my app, then it did the job. Different types of build pipelines have different needs.
Re:Clojure: A Lisp that wants to spread by stingraycharles on Monday March 02, 2020 @04:16AM (#22462876)
For me personally it’s not a problem, but build tooling is a frequent obstacle for newcomers to the language. Fragmentation is the opposite of what we want here.