3 ms·
Go is more verbose than Java though, in what way would it be more sensible? Also, Java's ecosystem is unparalleled (top 3 in size, depending on domain it usual
by gf000 11mo ago
Go is more verbose than Java though, in what way would it be more sensible?
Also, Java's ecosystem is unparalleled (top 3 in size, depending on domain it usually has the best packages (e.g. typical backend-related functionality)), has stellar performance, a huge developer base, best-in-class IDE support, even LLMs understand it exceptionally well (given how widely represented it is in the training corpus, plus has a decent type system) if that's your thing.
For a typical backend system, you really have to have a good reason to choose something else at this point.
- codr7 11mo agoExcept for Kotlin, which is a much nicer language to deal with.
- throwaway7783 11mo agoLittle nicer for sure
- lenkite 11mo agoA nicer language which is much slower to compile compared to Java.
- codr7 11mo agoIf that's the only price, I'll take it.
- zeroc8 11mo agoJava is ok for typical backend stuff, but Go doesn't hide things the way Java does. With Go, you actually learn what's going on, while with Java, you just learn your way around the various frameworks. As a programmer, I don't want that That said, my current company uses Spring Boot. It does its job, but it wouldn't be my top choice.
- throwaway7783 11mo agoIt is the programmer's job to learn what is going on. Java itself doesn't hide anything from you. You are free to write a servlet from scratch, or use a framework like Spring to hide everything. Your (company's) choice really. People end up choosing something that has batteries included so they can focus on solving business problems. A programmer who will superficially understand SpringBoot without understanding how it works. Really, there is no magic there - its a few core concepts - annotations, bytecode enhancement and dynamic proxies. Maybe Im missing one or two. Everything else is built on top of this. This is regardless of language/ecosystem. If I do not understand the fundamental concepts, I will never be successful in that ecosystem.
- zeroc8 11mo agoThe layer in Go is much thinner, if I want to learn about a new concept or technology. Of course there is no magic, if you are willing to put the time in. The question is how much time is required.
- gf000 11mo agoThe layer is thinner because you can't create abstractions as well in that language. But that's like saying that a bicycle is better than a car, because the first is simpler to understand. (At the same time, nothing prevents you from assembling a bicycle in Java if that's indeed what you need. But for general long distance travel you are better off starting with a car frame, aren't you?)