Introduction to Go
πΏ What is Go
It is an open-source programming language developed by Google in 2007.
Has designed and created by Robert Griesemer, Rob Pike, and Ken Thompson.
It is a statically typed, concurrent, compiled language that feels like a dynamically typed, interpreted language.
It is oriented to take advantage of systems with multiple processors and network processing.
πΏ Go History
Go was designed at Google in 2007 to improve programming productivity in an era of multicore, networked machines, and large codebases. The designers wanted to address criticism of other languages in use at Google, but keep their useful characteristics.
Static typing and run-time efficiency (like C) Readability and usability (like Python or JavaScript) High-performance networking and multiprocessing Its designers were primarily motivated by their dislike of C++.
πΏ What are the advantages of using Go
Syntax and readability: Being a typed and well-structured language, go makes reading and creating code easier for others, which is especially useful in work teams. It also allows the code to be cleaner and more maintainable over time.
Efficiency and performance: Go stands out especially for its efficiency and speed since its compiler is optimized for this, leaving behind many high-level programming languages ββand even competing with low-level ones.
Automatic memory management: Go has a garbage collector which avoids dealing with memory management and makes the development process faster without sacrificing efficiency.
Built-in concurrency and parallelism: Go has built-in concurrency through goroutines which allows us to create concurrent programs and manage their communication across channels, and take full advantage of multicore and networked machines.
Portability and quick builds: Thanks to the go compiler we have great portability since it has cross-compilation which allows us to create executable code for another platform other than the one on which the compiler runs, for example, we can compile code for Windows from Linux.
πΏ What are the disadvantages of using Go
Less versatility in specific domains: Go can be a more or less appropriate language for certain cases and that is why it is important to take into account what we are going to develop before choosing a programming language, for example for machine learning or the scientific or statistical field, it may be better to use Python or R instead of Go.
Lack of advanced object-oriented features: Go is not directly an object-oriented programming language and although it allows the implementation of certain principles of object-oriented programming through the structs and interfaces, the truth is that it does not have an advanced implementation of all the principles such as inheritance by what is an issue that we should take into account
Immature compared to other older programming languages: Although Go has a robust standard library, it must be taken into account that it is a relatively new language and that several of the libraries that exist for specific themes are maintained by the community, so it can be tedious to manage dependencies.
πΏ How to Install
I genuinely recommend seeing the official documentation for the installation
πΏ Additional resources
Also, check the books section
Last updated
Was this helpful?