←back to thread

257 points pmig | 3 comments | | HN request time: 0s | source
Show context
rvz ◴[] No.43096400[source]
Agree. Go is a joy to use. Java is okay but struggles with scaling unless you have the money to burn for this.

To scale up servers in Java requires spinning up highly priced servers with lots of RAM, which that is a lot of money. Using a low spec server is cheaper but you will get more JVM crashes and have to waste time doing more JVM tuning to prevent them. This is not even talking about having lots of 'microservices' to scale which that also means more money spent per month.

Using Go just reduces all of that and saves lots of money and is extremely efficient enough to rely on and it directly compiles to a single binary for deployment.

From a cost and efficiency perspective, Java is just not the answer even though it is a sound language, unlike JavaScript or TypeScript. Given a choice I'd rather use Java or even Kotlin or JS/TS. But the cost reduction, performance gains and onboarding experience with Golang is hard to beat for backend.

Would stay really far away from JavaScript or TypeScript for anything backend.

replies(1): >>43096458 #
amazingamazing ◴[] No.43096458[source]
> Would stay really far away from JavaScript or TypeScript for anything backend.

IDK, TypeScript types are extremely ergonomic, and if you're not overzealous makes everything very readable, and given many things are I/O bound anyway, it doesn't matter much.

replies(2): >>43096723 #>>43097320 #
bdhcuidbebe ◴[] No.43097320[source]
I guess you just dont know the domain well enough to understand the kind of issues strong typing and compiled software is solving.
replies(1): >>43097529 #
amazingamazing ◴[] No.43097529[source]
Please do tell, what typescript, node and a few dependencies cannot do here.
replies(1): >>43101612 #
1. bdhcuidbebe ◴[] No.43101612[source]
Provide strong typing, low memory footprint and good performance at scale. See the topic of discussion for more details.
replies(1): >>43102593 #
2. amazingamazing ◴[] No.43102593[source]
Yes, I agree, but what you're saying isn't really relevant in an I/O bound scenario. In any case, I wouldn't write a K8s operator in node.js, yes. Go is the best for that.
replies(1): >>43103464 #
3. bdhcuidbebe ◴[] No.43103464[source]
Sorry, but what IO bound scenario?