DEV Community

Cover image for Should you transition to Golang?
Nočnica Fee for Run [X]

Posted on


Should you transition to Golang?

Cover image by Bjørn Erik Pedersen, CC BY-SA 4.0, via Wikimedia Commons

Late last year AWS announced that their Lambda compute service would bill by the microsecond, this change didn't matter much for those who were developing in Java or .NET, after all a run of 12 or 25 seconds wouldn't be that much cheaper divided into microseconds, but it did matter for those working in Go. Since Go starts and runs so quickly, suddenly runs of a Lambda function written in Go could cost half as much as before.

Golang is fast, and compared to some other web development languages it performs tasks using less memory and CPU, so it seems obvious that Go should be used for almost everything.

But ask yourself how often the limiting factor for a web service is actually RAM.

The selection of a programming language is based on a number of factors, and changing languages even for a lone developer is a difficult, expensive process. For a large team it's possible to lose a year trying to retrain or rehire the expertise you need to build features.

So I'm curious how you feel, do you think services should be rewritten in Golang?

Top comments (6)

devoskar profile image
Oskar Pietrucha

Interesting question, but I think it's scenario specific. If a company does use AWS it can be problematic as you say, but what about self hosted services? It doesn't feel too bad to use it if we can save some time.

I am using mostly JS and python, but I'm considering a lot switching to golang lately.

nocnica profile image
Nočnica Fee

Yeah i think any manager will tell you that it's more about what the team is comfortable with than about code performance.

juandiegopalomino profile image
Juan Diego Palomino

What about rust lol?

aheisleycook profile image

not unless it makes stack sense

aheisleycook profile image

i use php and python and see and c# might dol F# and
learned kotlin

An Animated Guide to Node.js Event Loop

>> Check out this classic DEV post <<