What is GoLang and what makes it different?
- Statically typed, Compiled Language that feels Dynamically typed and interpreted.
- Automatic memory management including garbage collection!
- Executables created with Go toolchain has no default external dependencies.
- It’s interoperability is pretty neat. In Docker, Go interfaces with low-level Linux functions, cgroups, and namespaces in magical ways!
- Go is not an object oriented language, so there is no concept of classes. This may be a plus depending on who you ask.
What are the best applications of Go?
- Utilities and Stand Alone Tools
- Distributed networked services.
- Cloud Native development
- Most Go applications are command-line (CLI) tools or network services. Here is an example of one: https://github.com/akamai/cli
I’m personally learning golang to improve my cloud skillset and go seems like a natural progression. Also, have you ever wondered how that CLI you are using works? If it’s recent, it may have been written in Go. So let’s learn a new tool for our toolbox and jump right in!
Is there a Demand for it?
If you are interested in working with cloud architecture, then Go is certainly in high demand. Should you learn go as the first step in your developer journey? Probably not.
In any case, I’ll be writing this tutorial as if you have never read or written a single line of code.
Will Go help you get a job?
Having said that, Go will be a great skillset to lean on after you have conquered at least one language and within a very short period of time of learning it’s patterns, you’ll be productive in no time. I’d definitely recommend it!
It’s failry popular, easy to learn and read. It’s well documented and backed by some big players in the tech world. Take a look at it’s popularity:
GoLang’s popularity is ranked #14 just behind Swift and ahead of Ruby and has maintained it’s ranking.
GoLang’s benefits developers in multiple ways, including garbage collection, native concurrency, and many other native capabilities that reduce the need for developers to write code to handle memory leaks or networked apps.
Being Backed by Google, I don’t see this language disappearing.