What is GoLang and what makes it different?
- Golang, also known as just "Go" is a simple to read, easy to learn, simple(r) programing that is worth taking a look into. It's opinionated, and it's an engineered language instead of an evolved language like Javascript.
- Statically typed, Compiled Language that feels Dynamically typed and interpreted.
- There is a standard library, something javascript lacks.
- 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
Why GoLang?
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.
You may have heard that having a specific coding language matters when getting started and I totally agree and for that reason I'd recommend something like Javascript with React as a first step. Often times developers are "ranked and filed" on the languages they have learned.
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?
Learning any coding language will improve your job outlook but I don't think that learning Go will be the best one to learn to improve your job outlook first. What I mean is, I'd pick: C, Python, Java, C++, C#, Javascript, or PHP as a first language as they are more widely adopted, established and have more jobs by volume than Go.
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.
-- source
Being Backed by Google, I don't see this language disappearing.
Drew is a seasoned DevOps Engineer with a rich background that spans multiple industries and technologies. With foundational training as a Nuclear Engineer in the US Navy, Drew brings a meticulous approach to operational efficiency and reliability. His expertise lies in cloud migration strategies, CI/CD automation, and Kubernetes orchestration. Known for a keen focus on facts and correctness, Drew is proficient in a range of programming languages including Bash and JavaScript. His diverse experiences, from serving in the military to working in the corporate world, have equipped him with a comprehensive worldview and a knack for creative problem-solving. Drew advocates for streamlined, fact-based approaches in both code and business, making him a reliable authority in the tech industry.