4 ms·
Too many weird macros, too many non-english operators, too much weird bullshit with Ivy, that if you install scala from source sbt will fuck it up if you try an
by killin_dan 9y ago
Too many weird macros, too many non-english operators, too much weird bullshit with Ivy, that if you install scala from source sbt will fuck it up if you try and do coverage testing on different versions, build times are ridiculous (this has improved quite a bit since I first used sbt, but it's still embarrassingly slow compared to other build systems (FAKE comes to mind immediately, or rebar3 is real nice too, hell I still use rake for when I have an obnoxious code structure with ten million subdirs, and it's great if you use jruby)
What's good about it? What about sbt makes it better than any other build tool OTHER than the fact that it lets you use scala?
I don't mind that SBT uses a bunch of advanced concepts and type safety, that's fucking AWESOME, but it's so difficult to wrangle it to just build something correctly, it seems like there's such a huge time investment to learning it to a threshold where its features are useful enough to make that investment seem worth it.
Several years later, I still have not reached that point. It seemed like such a pain at first to learn other languages (Erlang syntax still confuses me sometimes) but then I started completing components in these languages and there were moments when I started working on prod builds, and using rake, FAKE, rebar3, etc, and it really put into perspective how much time I had been spending internally screaming at sbt to just DO IT already.
There will always be a special place in my heart for Scala as a language, and I think it's one of those languages we'll look back on in 3017 and think "Damn, we learned a lot then"
but I'm getting over it in my day-to-day work. I'm also being slowly enslaved by .NET corp overlords now, but I've been complaining about SBT for a LONG time before this, and a lot of other people have too, sometimes for the same reasons that I hate it, sometimes for their own special reasons.
It causes way too much friction for Lightbend to continue to look the other way. It's cool when you read the list of features, but write a complicated build and look me in the eyes and say you enjoyed it, you just can't.
- eweise 9y agowhy not just use Maven?
- killin_dan 9y agoI don't want to trade a shit for a turd. And I also don't want to learn another jvm build system. I've long awaited a day where scala native can start replacing things, but they've already put their sbt in their coffin.