Advantages and Disadvantages of Go
Tags: go, beginners, programming, tutorial
Published: 2022-10-08 13:31:11


![advantages-and-disadvantages-of-go](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a22waxi3cdcdd2idlejk.jpg)

In this article we are going to learn about , What are the advantages of using go and why it’s so popular now between developers, but first lemme tell you what go is and why it was created.


## History of Go

Go is a modern, generic purpose, open source programming language that was officially announced at the end of 2009. Go began as an internal Google project, which means that it was started as an experiment, and has since been inspired by many other programming languages, including C, Pascal, Alef and Oberon. Go’s spiritual fathers are professional programmers Robert Griesemer, Ken Thomson, and Rob Pike.

They designed Go as a language for professional programmers who want to build reliable, robust and efficient software. Apart from its syntax and its standard functions, Go comes with pretty rich standard library.

If you are going to install Go for the first time you can start by visiting [Downloads — The Go Programming Language.](https://go.dev/dl/)


## The Advantages of Go

Go has many advantages, and some of them are unique to Go, which others are shared with other programming languages.

The list of the most significant Go advantages and features includes the following mentioned below:

- Go is a modern programming language that easy to read, easy to understand, and was made by the experienced developers.
- Go wants happy developers because happy developers write better code.
- The Go compiler prints practical warning and error messages that help you to solve the actual problem. Putting it simply, the Go compiler is there to help developers, not to make developers life miserable by printing pointless output.
- Go code is portable, especially among UNIX machines.
- Go has support for procedural, concurrent, and distributed programming.
- Go supports garbage collection, so you do not have to deal with memory allocation and deallocation.
- Go does not have a preprocessor and does high-speed compilation. As a consequence, Go can also be used as a scripting language.
- Go can build web applications and provides a simple web server for testing purposes.
- The standard Go library offers many packages that simplify the work of the developer. Additionally, the functions found in the standard Go library are tested and debugged in advance by the people who develop Go, which means that most of the time, they come without bugs.
- Go uses static linking by default, which means that the binary files produced can be easily transferred to other machines with the same OS. As a consequence, once a Go program is compiled successfully and an executable file is generated, you do not need to worry about libraries, dependencies, and different library versions anymore.
- You will not need a graphical user interface (GUI) for developing, debugging, and testing Go applications, as Go can be used from command-line, which I think many UNIX people prefer.
- Go supports Unicode, which means that you do not need any extra code for printing characters from multiple human languages anymore.
- Go keeps concepts orthogonal because a few orthogonal features work better than many overlapping ones.


## Some Disadvantages of Go

- Go does not have direct support for object-oriented programming, which can be a problem for programmers who are used to writing code in and object-oriented manner. Nevertheless, you can use composition in Go to mimic inheritance.
- For some people, Go will never replace C
- C is still faster than any other programming language for systems programming and this is mainly because UNIX is written in C.

[Full Article](https://programmingeeksclub.com/the-advantages-of-using-go/)

Thanks for reading :)