DEV Community ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป

Cover image for 5 reasons to use Golang
Carlos Galarza
Carlos Galarza

Posted on

Why use Golang 5 reasons to use Golang

There are several reasons to start using Go:

  1. Itโ€™s statically, strongly typed with a great way to handle errors, this makes Golang more reliable and robust.
  2. It compiles down to one binary. Just execute it in wherever you want.
  3. Itโ€™s faster.
  4. The main reason why I use it is simplicity, there is only one way to do things, no more โ€œbeautyโ€ and โ€œclever codeโ€, this point increases your code readability. You and your team always know what a piece of code is doing. It is the Golangs killer-feature ๐Ÿ”ฅ.
  5. For the reasons above, it is easier to teach Golang to new devs from scratch and they will get productive in a short time.

In my case, I used NodeJS for a long time and had Golang under my eyes once I read an article by Tj, an important member of the NodeJS community. If you have used Node, probably you have used ExpressJS or at least read about it. Well, TJ Holowaychuk is its creator! I leave here the link to the article: https://medium.com/code-adventures/farewell-node-js-4ba9e7f3e52b

In the beginning, Golang is a bit weird and your code gets larger, you have to forget about Array.map .. filter .. and all kinds of โ€œbeautyโ€ things of JavaScript and other modern languages, also, you have to handle every possible error. But, in the long-term, it makes your code more readable, simple and stable.

For example, the unique way to iterate in Golang is โ€œforโ€ and there is no ternary operator ๐Ÿ˜ฎ, but this is the Golang strength ๐Ÿ’ช, simplicity.

A couple of months ago with my team, we are using Golang for building the LiciMaticโ€™s backend, the platform I work on, and now Golang is my preferred language.

So, I recommend you learning Glango, you are going to learn a lot and you will have big professional opportunities.

I want to highlight that Golang is at the top of the best-paid languages of 2019: https://lvivity.com/top-highly-paid-programming-languages

I leave here 3 free learning resources:

Want to learn more about Golang and other interesting tech topics?
Follow me here on Dev.to and on Twitter: https://twitter.com/carloslfu

Thanks and happy learning! ๐Ÿ™‚

Top comments (10)

Collapse
curtisfenner profile image
Curtis Fenner

While Go is statically typed, I would not call it "strongly typed". It has one of the weakest type systems among popular statically typed languages.

It doesn't have real enums (you can merely name some integer values); it certainly doesn't have sum/tagged union types; it doesn't have generic/parameterized types or functions; its subtyping is only structural; everything can be null/freely "zero initialized".

These all eventually become impediments to designing obviously correct software that is verified by the typechecker.

Collapse
crabmusket profile image
Daniel Buckmaster

"Strong" and "weak" typing aren't very well-defined terms, but according to most of the definitions on this page Go should probably count on the strong side. Go doesn't allow many implicit conversions, doesn't treat pointers as integers, doesn't have untagged unions AFAIK, and performs most type-checking at compile time, though using interface{} and reflection you can mess around with it.

Collapse
uptechteam profile image
Uptech • Edited on

It's been a while since the developer community got excited over a new programming language.
But you should remember Go is handy when itโ€™s used for addressing bottleneck issues in processing time. uptech.team/blog/why-use-golang-fo... - More about why use golang for projects here

Collapse
antoniocs profile image
AntonioCS

I want to highlight that Golang is at the top of the best-paid languages of 2019: lvivity.com/top-highly-paid-progra...

You should have started with this one and then added concurrency.
All your points would benefit from good examples.

Collapse
carloslfu profile image
Carlos Galarza Author

Those are good points! Thank you. I agree those are pain points. I think monadic error handling is far better than exceptions and the Go way. Also, I agree that Go 2 is going to be better because of generics.

That said, I still like Golang's simplicity. I agree Rust is excellent, but Go is less difficult to learn, and that is sometimes better than being perfect. When choosing a language, you have to make tradeoffs. For instance, if you have NodeJS devs and you have to develop a CPU intensive web service or optimize an existing one. Golang is an excellent choice over Rust because it is going to be easier to learn and good enough for the task.

Collapse
bskiefer profile image
bskiefer
Collapse
sykora_b profile image
Alan B. Sykora

Go shows the awesome performance when creating the backend of the web apps. As for disadvantages, it lacks an embedded troubleshooting tool. I've read an article on this topic, check it out here.

๐ŸŒš Browsing with dark mode makes you a better developer.

It's a scientific fact.