Why use Go?

Why use Go?

History

While the creators of Go were waiting for a C++ program to compile in 2007(which was taking an exceedingly long time to compile), they thought that how will the C++ programming language would be if it were created in 2007 rather than in 1980's. Then they started working on a new programming language and made the first release of the language in 2009(this was the time when the previously started C++ program finished compiling😑).

Go is a programming language created at Google by:

  1. Robert Griesemer
  2. Ken Thompson
  3. Rob Pike

Work started in 2007 and the first release was made in 2009.

Go mascot is known as "Go Gopher".

The mascot is designed and drawn by Renee French.

Advantages of using Go

  1. Young compared to other languages : Go is an incredibly young language compared to other languages like C, C++, Java, and Python. The downside of this might be that it might not be as mature as the previously mentioned languages, and it might also contain some unknown bugs which will be found after extensive use of the language only. The upside is that it is a very modern language, and it is designed keeping in mind of modern technological advances.
  2. Notable projects are written in Go : World's most popular cloud infrastructure projects are all written in Go. A few among them are Docker, Kubernetes, etcd, Terraform. So, Go is widely used and very much production ready.
  3. Designed as a "systems" language but it evolved as a great "all-rounder" : It was designed for building operating systems and infrastructure projects. But over the years after its release, it evolved into a language which can be considered a solid choice for building web servers and other high-level applications.
  4. Language advantages : Go is like C, but it is much simpler, cleaner, concise and it has its own garbage collection (it takes care of the memory management by itself). It only has 25 keywords, which is way less than some of the traditional languages like Java, which makes Go technically easier to learn.
  5. Cross-platform : Go is cross-platform so it can be used to build programs for all the major operating systems.
  6. It is a compiled language : The programs written in Go are compiled to machine code and can be run any number of times without requiring an interpreter. What this means for the customer is that the customer doesn't need to install extra software to run the program, he can directly take the compiled code and execute it. This makes the program a lot faster.
  7. It is a strongly-typed language : This gives the developers a sense of reliability on the code they write and makes debugging the code a lot easier. This also forces the developers to write good clean code.

These points make Go an exceptionally good language to use for building the following type of applications but not limited to:

  • Cloud & Network Services
  • Command-line interfaces
  • Web development
  • DevOps & Site Reliability

Conclusion

With the advances in the computing field in present days, the languages like C++ and Java are little bit limited with the ways in which they could make complete use of the capabilities of the modern-day computing devices. And programming languages like Go are more suited to building programs in this age because these programming languages are built for the modern age.