zlacker

[parent] [thread] 19 comments
1. mythz+(OP)[view] [source] 2025-12-03 02:58:38
AI tools value simplicity, fast bootstrapping and iterations, this rules out the JVM which has the worst build system and package repositories I've ever had the displeasure of needing to use. Check in gradle binaries in 2025? Having to wait days for packages to sync? Windows/Linux gradle wrappers for every project? Broken builds and churn after every major upgrade. It's broken beyond repair.

By contrast `bun install` is about as good as it gets.

replies(4): >>speed_+R4 >>pjmlp+gn >>sfn42+Yr >>DarkNo+Hz
2. speed_+R4[view] [source] 2025-12-03 03:47:59
>>mythz+(OP)
By using Gradle you certainly didn't make yourself a favor.
replies(1): >>Javier+kr
3. pjmlp+gn[view] [source] 2025-12-03 07:27:27
>>mythz+(OP)
Gradle is something that only Android devs should be using, and because of Google imposes its use. Had not been for Google and Android Gradle plugin, almost no one would care.

Please give me Java tools over C, C++, JavaScript or Python ones, any day of the week.

Only .NET and Rust compare equally in quality of DX.

AI tools value simplicity?!?

Check in the Python dependency management chaos, what it is the proposal this month, from what AI startup doing Python tools in Rust?

◧◩
4. Javier+kr[view] [source] [discussion] 2025-12-03 08:05:10
>>speed_+R4
I am unsure why people feel the need to say this about Gradle. If you aren't doing anything fancy, the most you will touch is the repositories and dependencies block of your build script, perhaps add publishing or shadow plugins and configure them accordingly but that has never been simpler than it is now. Gradle breaks when you feel the need to unnecessarily update things like the wrapper version or plugins without considering the implications that has. Wrapper is bundled in so you don't have to try and make a build script work with whatever version you might have installed on your system if you have any, toolchain resolution makes it so you don't even need to install an appropriate JDK version as it does that for you.

If the build script being a DSL is the issue, they're even experimenting around declarative gradle scripts [0], which is going to be nice for people used to something like maven.

0: https://declarative.gradle.org/

replies(2): >>DarkNo+Uz >>speed_+4h1
5. sfn42+Yr[view] [source] 2025-12-03 08:10:02
>>mythz+(OP)
It's just too bad bun is based on literally the worst programming language that's in actual use.
replies(1): >>mythz+xB
6. DarkNo+Hz[view] [source] 2025-12-03 08:53:37
>>mythz+(OP)
Apples and oranges. Maven is leagues beyond npm. Screw Gradle.

How many mass security incidents have there been with npm just the last few weeks?

replies(1): >>wratho+8g1
◧◩◪
7. DarkNo+Uz[view] [source] [discussion] 2025-12-03 08:54:35
>>Javier+kr
And yet. None of these issues exist in Maven to begin with.
replies(1): >>gf000+IZ
◧◩
8. mythz+xB[view] [source] [discussion] 2025-12-03 09:08:20
>>sfn42+Yr
TypeScript's one of the best, and bun runs it natively.
replies(1): >>sfn42+nC
◧◩◪
9. sfn42+nC[view] [source] [discussion] 2025-12-03 09:14:47
>>mythz+xB
Typescript is a band aid on the gaping gushing wound that is JavaScript. It attempts to fix one problem JS has and it doesn't really succeed.
replies(1): >>mythz+4F
◧◩◪◨
10. mythz+4F[view] [source] [discussion] 2025-12-03 09:34:50
>>sfn42+nC
Sounds like cope. Great Type System, Language Server, IDE Integration, compiler feedback, tooling ecosystem, DX Hot Reload - all things that made it the most used programming language on GitHub.
replies(1): >>sfn42+xK
◧◩◪◨⬒
11. sfn42+xK[view] [source] [discussion] 2025-12-03 10:13:36
>>mythz+4F
Overcomplicated type system. Language server seems redundant to mention, everything has a language server. Everything has ide integration. Everything has decent compiler feedback. Everything has hot reloading.
replies(1): >>mythz+GM
◧◩◪◨⬒⬓
12. mythz+GM[view] [source] [discussion] 2025-12-03 10:29:47
>>sfn42+xK
yes some languages have them, no they're not as good.
replies(1): >>BobbyJ+ip2
◧◩◪◨
13. gf000+IZ[view] [source] [discussion] 2025-12-03 12:14:36
>>DarkNo+Uz
At the same time, only Maven requires doing a clean install from time to time as it fails to properly track what needs updating.

Gradle is better from this perspective, and hopefully with its "kotlinization" we will see some stability, which was the biggest issue it had before.

replies(1): >>DarkNo+T91
◧◩◪◨⬒
14. DarkNo+T91[view] [source] [discussion] 2025-12-03 13:29:20
>>gf000+IZ
I personally never had to do a clean install, and thought this is being perpetuted due to a mixture of habit and paranoia.

In any case, what are the proposed benefits of the "kotilization"? I tried it about a year ago but realized that it's just a syntax level-wrapper around the same old DSL underneath. In the end, I still viewed it as an ill-described DSL with a massive learning curve outside of happy-paths.

◧◩
15. wratho+8g1[view] [source] [discussion] 2025-12-03 14:08:55
>>DarkNo+Hz
Maven is excellent! Once you understand it, you can work with almost any Maven project without needing to learn the specifics. I’d take Maven or Cargo any day over anything in the JavaScript or Python ecosystem.
◧◩◪
16. speed_+4h1[view] [source] [discussion] 2025-12-03 14:14:17
>>Javier+kr
So now there will be Kotlin DSL, Groovy DSL and declarative DSL, spread out over up to five files in the project root. Gradle is like C++, trying to climb out of it's complexity hole by digging deeper every new version.

The problem with Gradle is that it never had a clear philosophy to begin with. It's trying to be everything to everybody, changes best practices every year and has enough features that the project at hand could entirely be built out of Gradle scripts itself.

And oh, it still requires an update to run everytime a new JDK is released even though the SDK is the most backward compatible thing ever written.

◧◩◪◨⬒⬓⬔
17. BobbyJ+ip2[view] [source] [discussion] 2025-12-03 19:45:09
>>mythz+GM
Pretty much all major languages have all of those features save hot-reloading, but that only even makes sense for UI written in an interpreted language.
replies(1): >>sfn42+mp4
◧◩◪◨⬒⬓⬔⧯
18. sfn42+mp4[view] [source] [discussion] 2025-12-04 12:10:16
>>BobbyJ+ip2
There's hot reloading in .NET and Java
replies(1): >>BobbyJ+XZ7
◧◩◪◨⬒⬓⬔⧯▣
19. BobbyJ+XZ7[view] [source] [discussion] 2025-12-05 12:46:18
>>sfn42+mp4
What is the use case for either of those two languages?
replies(1): >>sfn42+MLb
◧◩◪◨⬒⬓⬔⧯▣▦
20. sfn42+MLb[view] [source] [discussion] 2025-12-06 17:33:54
>>BobbyJ+XZ7
Being able to update the code while it's running is useful for all kinds of use cases. Desktop apps, web apis, server side rendered web apps, .net blazor apps, etc.

It's nice to be able to see what your changes do without rebuild and restart.

[go to top]