In this short tutorial, we will see the purpose of learning Go language. Here, we talk about very brief history, usage of Go programming and where it’s being used.
Overview of Go Programming Language
Let’s understand a brief history of go programming language. Go was developed at Google and the version 1 of the language came out in the year 2012. Google wanted something that could run at very high speed with machine level code but is still readable unlike C or C++. So, they came out with Go.
Why use Go?
- Go is open-source language with great community support and backing from Google
- Go language is very fast. Machine language are CPU instructions and are very simple and straight forward and it runs directly on processors. Go is a high level language. Go run at machine code and there is no intermediate virtual machine code like JVM, so it is very fast.
- Go language also has garbage collection for automatic memory management and we don’t have to worry about allocating and deallocating memory to objects.
- Go is very concise and has type inference. This means that go is statically typed but still we don’t have to specially mention the types. So, it still feels like dynamic languages like Python.
- Go is developed for parallel programming and hence has built-in support for multi-threading.
- It has many of the built-in tooling using go command line such as
build,test,run, etc. - Module system so that code base is small and we get only what we need.
Who is using Go? How?
Enterprise companies are using Go programming as their core programming language.
- AT&T
- Netflix and many more…
Some of the very popular tools are written in Go. These includes many new cloud-native tools.
- Docker
- Kubernetes
- Terraform
Uses of Golang:
Go is used for:
- Web development
- Network programming
- System level programming at lower level
- Cloud native tools development
Conclusion
In this lesson, we looked at the reasons why we should learn Go programming language. We also saw various usages of Golang and some of the large scale companies using this modern language.


Comments