4 ms·
Why not Java? Shouldn't it tick all the boxes? JVM is like the Cologne Cathedral of the software world.
by billfruit 2y ago
Why not Java? Shouldn't it tick all the boxes?
JVM is like the Cologne Cathedral of the software world.
- OutOfHere 2y agoIsn't Java a memory hog and historically also exceedingly verbose?
- nindalf 2y agoFor a developer tool? Genuine question, how long does the JVM take to start? It used to be slow, but I don't know what it's like now. Check out the speed comparison of a few linters on this page -> https://astral.sh https://astral.sh. Would the JVM start before the fastest one finished? And supposing you took start time out of it, how long would an equivalent Java program take to run? Memory isn't as much of an issue, but all other things being equal users do prefer the program that consumes less memory.
- kamma4434 2y agoZero-ish now.
- wiseowise 2y agoPerformance and memory usage are worse than Rust/Go.
- pjmlp 2y agoWorse than Rust, yes, worse than Go, not really.
- wiseowise 2y agoFor CLI? Absolutely worse.
- pjmlp 2y agoA skillset problem, not knowing the ecosystem.
- wiseowise 2y agoNot really, with Go it’s braindead simple. Why would you want to jump through hoops to match performance of Go? For the sake of using Java (lol)?
- pjmlp 2y agoI rather use tools not stuck in jurassic time of programming language design, again, Go's performance is behind most Java implementations. That wouldn't be true for gccgo implementation, but then again, it is now abandoned in pre-generics Go, stuck at version 1.17, no one seems to care to update it.
- wiseowise 2y agoThen you use Rust. shrug
- pjmlp 2y agoRust is for kernels and low level systems programming where a GC isn't allowed to play ball.
- sn9 2y agoYou can build a CLI in Rust with a better performance and runtime guarantees with far less skill and have a better time doing it. Java doesn't even have null safety or ergonomic algebraic data types.
- pjmlp 2y agoScala and Kotlin also exist, and Rust's place is for systems programming not CLI stuff. Besides people here sometimes have a hard time understanding English, given that I acknowledged Rust being faster.
- hot_gril 2y agoJava doesn't do cooperative multitasking (sorta aka greenthreading). That's why there are all these promise/future/whatever frameworks that do it, vs Golang, Rust, and even JS where it's just part of the runtime. Pretty sure JVM is also a lottt more overhead.
- pjmlp 2y agoYes it does, that is why originally there were green and red threads, the language specification doesn't require which kind exactly a JVM implementation should provide. Also since Java Loom project, it has virtual threads. Additionally, since at least a decade you could your own thread scheduling if feeling so inclined to do some low level coding, as the scheduling architecture is customisable.
- whstl 2y agoOthers have answered but: Java had its chance and it was demonstrated time and time again that it is much better at other things. There is probably no language in existence that "ticks all the boxes". And this is good.
- Eggpants 2y agoOracle. It’s only a matter of time when its CEO decides he wants to buy another Hawaiian island and sics his army of lawyers after everyone using it.