DEV Community

Why is Go so Damn Popular Among Developers

Pavan Belagatti on June 08, 2020

Go, which is also known as Golang, is a compiled language, fast and high-performance language intended to be simple and is designed to be easy to r...
Collapse
 
lukaszwiktor profile image
Łukasz Wiktor • Edited

I don't think that Go is really that popular. Sure, it's getting more popular, but when you compare it to Python on Google Trends then Go is below 10%

Go vs Python - Google Trends

trends.google.com/trends/explore/T...

Collapse
 
pavanbelagatti profile image
Pavan Belagatti

Google trends is just one metric to compare the search volume and that does not necessarily show the actual popularity. I agree, every language has its place today but when it comes to Go, all I meant is, by relative terms, this language has more to give to the DevOps world. That is one reason why most of the popular DevOps tools like Docker, Kubernetes, Terraform, etc are written in Go.

Collapse
 
petros0 profile image
Petros Stergioulas • Edited

I agree with @Łukasz, it is not so popular. But is nice if you want it for DevOps. I would consider it the best together with Rust.

But I find it a pain in the ... writting Web Apps with it. It doesn't have the solutions that Java and Node.js offer.

Collapse
 
totallygamerjet profile image
TotallyGamerJet

If you want to utilize Node.js you can use GopherJS which compiles Go into JavaScript and provide interfaces for calling into JavaScript libraries.

Collapse
 
nikolaykhodov profile image
Nikolay Khodov • Edited

GopherJS doesn't compile but rather transpile.

Transpilation doesn't bring run-time safety and may sometimes generate inconsistent code which can't be debugged w/o deep node.js knowledge.

I also think you can't enjoy all power and performance given by goroutines. The JS runtime is different from what you're used to.

I would think twice to use GopherJS. The other alternative is to really compile into WebAssembly modules with exposed APIs that give you the run-time safety, predictability, portability. node.js natively supports WASM modules.

Collapse
 
petros0 profile image
Petros Stergioulas

Why should one do this? It doesn't worth the hassle.

Thread Thread
 
totallygamerjet profile image
TotallyGamerJet

Well, there are a couple of reasons. First, if you've never used JavaScript and don't fully understand how it works you can use a more familiar language like Go. Second, you can use the entire std library including Go's very strong http support. Third, you can use go routines and channels for easy multiprocessor computation. Fourth, and in my opinion most importantly, Go provides safeties and creates less error prone code. There are probably a ton of other reasons but those are just a few.

Thread Thread
 
petros0 profile image
Petros Stergioulas

The effort you will put on doing this, you can just learn typescript (which really similar to Go).

Well, about the goroutines. Rxjs. Not the same but powerful.

Sorry but I am using on daily basis Go. Sometimes is really frustrating 😂

Collapse
 
donvitocodes profile image
donvitocodes • Edited

I still see very less compaines using Go for backend services of their business applications. I observe job postings at least here in SEA and compaines mostly use it for DevOps tooling. Could be a chicken and egg problem, maybe they also see there is scarcity of Go developers and companies don’t want to take the risk.

Collapse
 
in_california_ profile image
Ray Barboni

I stopped reading this article when it said 'Pearl' was readable

Collapse
 
koshqua profile image
Koshqua

Actually, it's "Go", which is also known as "Golang".