Why I started learning Golang
Hello! Welcome to the very first article in the “Go Long with Golang” blog. My name is Pavle , and I am a Python developer, who has recently decided to learn Go.
For my first article I will keep it simple and brief, and just try to name a few reasons why I decided to start learning Go:
The first reason , to be completely honest , is driven by pure greed :) . I think Go is going to be truly dominant in the coming years, and the demand for Go developers is going to explode pretty soon. It was built for the 21st century, made to work great with 21st century technologies such as the Cloud and multi-core processors.
It compiles to a single binary that runs machine code. This means that to run a Go app, you do not need any interpreter or virtual machine intermediary like you do for Python or Java. This further means that when putting your Go app in a container, you can use the “Scratch” base image. The result is a very lean Docker image usually no larger than 20MBs . An average Python image is at least 10-15 times larger.
The compile time is ridiculously fast. I’ve never worked on a Java app that has hundreds of thousands of lines of code, but I hear that compiling it can take quite a while. Legend says that the Game room (which as we know almost all tech companies now have on prem )was invented because developers had nothing to do while waiting for their Java apps to compile. Another legend says that the creators of Go , wrote the entire language while waiting for their apps written in other languages to compile.
Speaking of the creators of Go, they are three of the most legendary members of the tech community, people that have been part of major projects that are still used even though they have been created around half a century ago. Ken Thompson, one of the creators, is the author of Unix , the operating system that inspired the creation of Linux, which is the OS that runs over 90% of all servers today. He also assisted the development of C , the mother of most modern programming languages. When you add the fact that Go is backed by Google, I think it is safe to say that everyone involved in it’s development knows what they’re doing.
Finally (and I know it’s a cliche) , the language is so damn simple. It’s small and if you take a 7-8 hour couse of it ( there is a number of good ones online) , you will be able to start building real apps pretty soon. As a Python developer, I like to keep it simple. Golang has the simplicity of Python , and the power of C . Software such as Kubernetes, Docker, CockroachDB and Terraform were made in Go .
I hope these reasons are compelling enough for you as they were for me.
In this blog I will document my leaning path , mostly because I think I will learn even better by sharing what I have discovered.
Thanks for reading, and I hope you will join me on this path!