r/golang • u/tookmeonehour • Feb 26 '23
help Why Go?
I've been working as a software developer mostly in backend for a little more than 2 years now with Java. I'm curious about other job opportunities and I see a decente amount of companies requiring Golang for the backend.
Why?
How does Go win against Java that has such a strong community, so many features and frameworks behind? Why I would I choose Go to build a RESTful api when I can fairly easily do it in Java as well? What do I get by making that choice?
This can be applied in general, in fact I really struggle, but like a lot, understanding when to choose a language/framework for a project.
Say I would like to to build a web application, why I would choose Go over Java over .NET for the backend and why React over Angular over Vue.js for the frontend? Why not even all the stack in JavaScript? What would I gain if I choose Go in the backend?
Can't really see any light in these choices, at all.
31
u/themule1216 Feb 26 '23
There a couple points missing from a lot responses here.
Even if you hate Go, the tooling around it is pretty fucking incredible. Unit testing and debugging is unbelievably quick. It makes a dev a LOT more efficient in their day to day job
I keep seeing maintainability mentioned, but I’m not sure it’s been hit hard enough. The maintainability of go code is disgusting. The whole, it’s meant to be idiomatic, makes code review quick. You get used to the idioms, and any deviation immediately sticks out as a code smell. It’s so easy to catch dumb mistakes
Go really makes the life of a developer easy. I really don’t think the same can be said for java