Getting Started with Go


Go is behind some of the web’s most critical systems, which makes learning the language one of the best investments a programmer can make.

Before diving into Go, let’s take a brief detour. Go’s design is generally elegant and pragmatic, but a few of its features make sense only with some historical context.

That history starts with C. In many ways, C is the Latin of programming languages. It inspired JavaScript, Ruby, Python, C++, C#, and Java. A few of those languages are even written in C. It’s easy to spot C’s influence by looking at if/else and control flow statements in any of the aforementioned languages. C was originally Dennis Ritchie and was used to build Unix. From there, C found its way to the heart of Linux, where C has continued to be the language of choice.

Go was created by legends from this Unix and C era. While working at Google, Robert Griesemer, Rob Pike, and Ken Thompson found themselves frustrated by the common pitfalls of C-family languages. As Bjarne Stroustroup, creator of C++ puts it: “C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off.”