06. About Go
A Brief introduction to Go
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software. - Golang.org
Go is best described as "C" for 21st century. Go was developed in 2007 by Robert Griesemer, Rob Pike, and Ken Thompson at Google and open sourced in 2009. Go is general purpose programming language that can be at various places.
Go has no implicit numeric conversions, no constructors or destructors, no operator overloading, no default parameter values, no inheritance, no generics, no exceptions, no macros, no function annotations, and no thread-local storage. - The Go Programming Language by Brian W. Kernighan, Alan A. A. Donovan
So what is Go?
Go is general purpose programming language.
Go is compiled language.
Go is more type safe than C,C++.
Go is strongly typed language.
Go has static type checking.
Go needs manifest typing. Compiler has to know each type at compile time.
Go compiler can also perform type inference in many cases.
Go has duck typing like features like interfaces.
Overall Go is extremely simple, expressive and powerful.
Why Go was created?
Go is created to bridge gap between safety and performance. Languages like C, C++ are very performant, but at the same time, they are not safe. On other hand languages like Ruby, Python are safer, but are slower. Go sits at a sweet spot where, Go is fast enough to build platforms, at the same time provides safety like Ruby, Python.
What Problems Go tries to solve?
slow builds
uncontrolled dependencies
each programmer using a different subset of the language
poor program understanding (code hard to read, poorly documented, and so on)
duplication of effort
cost of updates
version skew
difficulty of writing automatic tools
cross-language builds
Who is using Go ?
In a nutshell, we wanted a language with the safety and performance of statically compiled languages such as C++ and Java, but the lightness and fun of dynamically typed interpreted languages such as Python - Rob Pike
Last updated