Why should you use GO after all?
I have been using Golang for programming for the past 5 years. It has been so long that I wrote something about this programming language. Go is becoming popular is a great scale until most recent times. According to (this post – Most Popular and Influential Programming Languages of 2018) Go is now at the 17th of Top programming languages in 2018 (Tiobe Index – December 2017).
Well, with all the experience that I had, I would like to share some of my ideas about why it is so awesome to use Go!
Why I like Go so much?
The code written on Go is very easy to read and understand. Finding solutions for your problems and reading other developer code wouldn’t be that hard at all.
- Its an OOP Language
Go is an Object Oriented Programming language but with Structs. Finally you can say bye bye to Inheritance and all that nonsense coming your way.
- Great Library of Packages
Go has a great inbuilt package library which you could use to complete any requirement of yours. Still if you are not happy with that you could find more advanced and useful packages in just a matter of one google search.
- Compiling Code
When Go code is compiled, it becomes a solid executable which is packaged with all sorts of dependencies in it. It is compiled to machine code which makes it fast when executing it. Go executable are not as fast as C or C++ but definitely faster that Java. Anyway these speeds are not that visible for human eye but for process consuming tasks it would make you see a clear difference.
- Cross Compiling
Write once and use it anywhere. Go supports many operating systems by default. Once you write a code in Go, it can be compiled and used anywhere. For example your code could be used on Windows, Linux, Mac, FreeBSD and RaspberryPI.
- Self Hosted
Go executables can be used as self hosted files, which means you are free of using or not restricted of using any other servers like IIS, Tomcat, Glass-fish etc to get it hosted. It only requires a little memory to run. You simply could run it in a Docker and make use of it the way you want it. How cool is that! 😀
- Great Concurrency Model
Go has go-routines which you could use to make amazing concurrent models within your applications. They are inexpensive to the processor but also very easy to include them into your code. With Go it is also possible to run code parallel.
- Suits Micro-service Architecture
Go is made for the cloud. It is mostly used for web development. There are occations where you can use Go for front-end development as well. With the packaged executable it is easy to handle when its used for deploying to Kubernetes because of its lightweight. Go services are also superior to Node services from it startup time. Since its statically linked to the binary which is in the machine code. It has inbuilt garbage collection which prevents memory leaks which makes it the best for networked apps.
- Suited for Data Science
According to a recent post, Go has some advantages in the area of Data Science. It has a superior error handling and easier debugging which is helping it gain more popularity over Python and R. Since Data Scientists are not developers Go has been helpful with prototyping and production. With GPU databases increasing with Big Data, go has showed fantastic performance it requires to process.
- Opensource and Backed by Google
Go lang was first developed by Google as an opensource project. Unlike to all other dying open source projects Go seems to take its popularity and trust of developers which shows a great future for its existence.
Additional to all these points, There are many IDE’s which supports Golang, for example VSCode, Sublime, GoLand etc but I love working on VSCode. It’s intellisense and more helps a lot when coding in Go. You also can setup Delve for debugging. (Refer this to learn how to setup Delve to debug Go).
That is why I think you too need to use Go in your development. Have I missed any important points? If so please feel free to add a comment bellow. Thank you for taking time to read this 😀