Go introduction

Here starts a series of posts about the Go programming language and this post will give you a short overview of Go and hopefully a reason to learn it.


Background

Go was originally designed at Google (Robert Griesemer, Rob Pike and Ken Thompson) with the goal to improve programming productivity and made its first stable release in 2012. Since November 2009 Go became a public open source project (GitHub).


Reason for Go

Because there is no other programming language out there combining safety, speed, and ease of programming.

Take for example C. For me it's difficult to work with and it is not safe. Java needs a virtual machine and therefore is not fast. Javascript is weakly-typed. I could go on and on and on...

Go on the other hand works like an interpreted language, because it was designed for fast compilation from the start. There is no VM. It compiles directly to cross-platform machine code and creates only one executable file without any dependencies. It has strong and static typing as well as integrated garbage collection and built-in concurrency. It is shipped with built-in command-line tools for auto-formatting, checking of race-condition issues, auto-documentation, test coverage reporting and refactoring.


Who uses Go?

Companies like Google, Dropbox, Heroku, Medium, Lyft, Uber, and many others. Ever heard about kubernetes? Completely implemented in Go. Docker? Same here.

So stay with me and check out the upcoming Go tutorials or head over first to the setup part.