Go for Beginners
Lesson 1 of 5 5 lessons · free
Go for Beginners 5 lessons
  1. 1 Why companies keep choosing it
  2. 2 The language itself
  3. 3 Concurrency
  4. 4 Building a service
  5. 5 Where Go fits in a career
Course overview
Data: video · change

This lesson: 356KB

Go for Beginners · Lesson 1 of 5

Why companies keep choosing it

Understand what Go optimised for.

Go was designed at Google to solve a specific problem: large teams working on large codebases where builds were slow and the language was complicated enough that people disagreed about how to write it.

So it was deliberately made small. There are few features, few ways to do each thing, and the language specification is short enough to read in an afternoon. This is the defining decision and it explains everything else.

What follows from that. Code written by different people looks the same, so reading an unfamiliar Go codebase is unusually easy. There is one formatter, which nobody argues about. A new developer becomes productive in days rather than months.

Compilation is very fast, and produces a single binary with no runtime to install, which makes deployment genuinely simple: copy one file and run it.

Concurrency is built into the language rather than added as a library, and it is the feature Go is most known for.

Where it is used. Backend services and APIs, infrastructure and cloud tooling, command line tools, and anything network facing. Docker, Kubernetes and a great deal of cloud infrastructure are written in it, which is why it appears constantly in DevOps job adverts.

What it deliberately lacks, and this frustrates people arriving from other languages: no exceptions, no inheritance, and a verbose error handling style. Those are choices rather than omissions, and the argument for each is simplicity.

Exercise: try it yourself

Read the Go language specification. It is short enough to read in one sitting, which is not true of most languages.

Check what you learned

Create your free BvLogic ID to take the quiz and record your score.

Create your BvLogic ID

Up next: 2. The language itself

Continue to lesson 2 Up next 2. The language itself