Go Programming Language

Go is a programming language designed originally to replace Python, Java, C/C++ at Google by some of the most experienced engineers who have ever lived, Rob Pike, Ken Thompson, and Robert Griesemer. It was specifically created to handle most high-performance utilitarian software development needs at Google. Forged in the white-hot fires of enterprise to slay many very real problems, it’s no surprise this light, fast, and solid tool is a popular and ideal choice for most back-end work. Go should be considered required learning by any serious technologist because of its efficiency, ubiquity, versatility, and sustainability which is why it is the most significant language of the DevOps movement and in 2017 Forbes called it one of the “two highest paid languages you maybe never have heard of,” three years after TJ Holowaychuk switched to Go from Node.

Learning Go

Learning Go is one of the most rewarding activities you can pursue. The best way to learn it is to start writing code in it, even the simplest code. You can use the language challenges to get some ideas.

However, when it comes to books, courses, and other materials there is no real solid leader. Perhaps the best approach is to simply read the documentation created by the Go team itself. Consider reading these in the order suggested by the Go team:

  1. The Go Programming Language Specification
  2. Tour of Go
  3. How to Write Go Code
  4. Effective Go

Don’t forget to start a codebook and get busy trying out the code you are reading about. It’s the only way to remember it.

Videos

Here are some of videos good for beginners:

Frequently Answered Questions

“I hate Go’s reserve type syntax!”

Um, that’s not a question. Get over it. It’s far superior for several objective reasons.

This is also why Rust uses it, by the way.

See Also