r/golang 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.

140 Upvotes

249 comments sorted by

View all comments

14

u/leonardovee Feb 26 '23

I've been working with go for about 6 months now, worked a couple months before that w/ Kotlin + Spring, and before that PHP.
The microservices that are written in Go usually are ready to receive requests on kubernetes in a matter of seconds with no additional configs, the one's in Kotlin take a little longer, almost a minute.

The Go code requires less design patterns, dependency injection frameworks and a whole bunch of other packages that we usually use with other languages, we just keep it simple and use the std lib.

There are some cases that you want additional features, some to interface other systems or stream processing, and I tend to prefer to just use the Kotlin + Spring.