News for hackers. Stuff that matters.
Re:Why Clojure? (2018) by yw3410 on Monday January 04, 2021 @01:47AM (#25628462)
Why do you think sbt is a bad build tool?

I've used the build tools of almost all the major languages (JS/TS, Rust, Haskell, Kotlin, C etc) and I don't honestly see any which are particularly easy.

Re:Why Clojure? (2018) by blandflakes on Monday January 04, 2021 @10:31AM (#25632539)
A lot of it is philosophical - for the reasons that I dislike Gradle, I dislike SBT, but SBT has the honor of also having historically (and thankfully since cleaned up) esoteric syntax. I simply don't want builds to be allowed to reach the complexity that sbt allows.

I would definitely agree with your point that most build tools aren't easy! I've used maven and grumbled about it, and I'm mostly sold on scripting my build in the same language I'm using anyway, but in my long time on the JVM, it's always been the gradle and sbt projects that end up with inscrutable and hard-to-follow build scripts.

The sbt REPL also regularly breaks existing build scripts by changing how args are passed/parsed, or even how terminal color support works, and I just get sad every time I see a new, unexpected error from one of our CI runs.

Re:Why Clojure? (2018) by joshlemer on Tuesday January 05, 2021 @08:10PM (#25653606)
Re:Why Clojure? (2018) by yw3410 on Thursday January 07, 2021 @04:05AM (#25668880)
Sure; but half the problems apply to other build tools too, not just sbt.

Take for example the point on syntax - is gradles groovy receiver syntax not just as esoteric as operator overloading?

Re:Why Clojure? (2018) by blandflakes on Thursday January 07, 2021 @09:27AM (#25671358)
Y does this too isn't really an interesting argument that X doing it is reasonable, I don't think (and my response to your initial question is entirely happy to lump Gradle in with SBT on its "understand-ability" demerits).
Re:Why Clojure? (2018) by yw3410 on Friday January 08, 2021 @01:02PM (#25687598)
Don't get me wrong, my laundry list with SBT is huge - that single point was an example; but I have other points for make, cargo, cabal, stack etc...

My question was what makes SBT uniquely bad when the topic of build tooling comes up that people immediately comment how terrible it is.

Re:Why Clojure? (2018) by joshlemer on Tuesday January 12, 2021 @04:49PM (#25754347)
For me, it's especially bad with the indirection, and the 3-dimensional cube of settings (I can never remember after all these years which one I want to set, the scope or the configuration or the task...). The complete mystery of how plugins affect the final build configuration.

I even went to a lot of effort to master SBT. I've read through the official docs numerous times, and Josh Suereth's Book https://www.manning.com/books/sbt-in-action, and I still feel like I don't grasp it very well. I'm just not smart enough for SBT.

Re:Why Clojure? (2018) by blandflakes on Friday January 08, 2021 @03:22PM (#25689919)
I think a lot of it is probably just that sbt feels as deep as learning entire programming languages sometimes and that is not something I want in a build tool.