> The difference is that Gradle has an obvious better alternative: Maven.
I do not find Maven to be an obvious improvement. I would say it's equally bad.
Re:Gradle Still Sucks
by justoreply on Wednesday April 26, 2023 @01:25AM
(#35709888)
With Maven I can't have a distributed build cache or multi-project caching
Yeah maybe. But I've found cache problems have always ended up costing more time than the cache ever saves.
Yeah, you haven’t worked on projects big enough.
I worked on what was claimed to be the second-biggest scala codebase in the world - 10MLOC, 500 contributors. Of course just switching off caching with 0 other workflow changes doesn't work, but I remain convinced that transparent caching does more harm than good.
Re:Gradle Still Sucks
by midoridensha on Wednesday April 26, 2023 @02:29AM
(#35710182)
>The difference is that Gradle has an obvious better alternative: Maven.
The alternative to Git is Mercurial, though I've never used it so I can't vouch for it. I do think I've read that Git is much faster though, but it's generally accepted that Mercurial's UI is a lot better and more consistent.
AFAICT, all the other alternatives to Git really can't do the same stuff Git does (namely, being distributed).
Re:Gradle Still Sucks
by JonChesterfield on Wednesday April 26, 2023 @06:54AM
(#35711790)
Fossil is the one to look at.
Yeah, you're right, I didn't want to complicate my post but Mercurial does have a cleaner design. But ultimately they never had an impl that was fast enough to use back when it mattered (maybe they still don't). Speed is a feature, and an important one.
The last time I used maven I found it to be painfully slow in comparison to gradle. Has this improved? I switched to gradle in 2015 and that was a pretty big motivation at the time.
I've used Maven and Gradle since before 2015 and never had that experience. In theory Gradle's caching should make it faster than Maven when it's working right; in practice I found Gradle's slow startup and the number of times I needed to invalidate the caching anyway more than outweighed that benefit. If it's working for you then great.
The difference is that Gradle has an obvious better alternative: Maven. The thing that Gradle does better than Maven is that it makes quick hacks easy. But once you try to use Gradle in a "proper" maintainable way, as this article does, you discover that all the things that annoyed you about Maven were there for a reason and you have to essentially reimplement the same things in Gradle. And then, if you have any sense, you go back to Maven.