Skip to content
Cover of The Go Programming Language by Alan A. A. Donovan & Brian W. Kernighan

The Go Programming Language

by Alan A. A. Donovan & Brian W. Kernighan

The K&R of Go — terse, exact, and still the cleanest path to writing idiomatic Go.

4.5 my rating
4.43 public avg
Status
Read · June 2024
Bought
June 28, 2024
For
Engineers already fluent in one or more languages · Backend & systems developers picking up Go · Anyone who wants idiomatic Go, not just working Go

The one-paragraph verdict

A good book for getting the key concepts of Go done properly. It carries the K&R lineage and earns it: dense, precise, every example load-bearing. Kernighan’s prose does what most language books fail at — it teaches taste, not just syntax, so you come out writing Go the way the standard library does. The concurrency chapters alone are worth the cover price; channels and goroutines finally clicked here in a way docs never managed. The honest knock is that it is a 2015 book — no modules, no generics — and it is unapologetically not for beginners. If you have never programmed before, it will leave you behind by chapter two.

Who should read it

Read it if you already know a language or two and want Go done properly rather than approximately. It rewards engineers who care about idiom and will sit with a terse example until it pays off. Skip it if you want a hand-holding tutorial or a cookbook of copy-paste recipes — that is not what this is.

Where it earned its place

It reset my baseline for what a language book can be: no filler, no padding, just signal. It gave me a habit I have kept — read the standard library when you want to learn the idiom, because that is exactly where these authors learned it too. I reach for it less as a reference now and more as a reminder of what disciplined technical writing looks like.

Skip it if…

Pass if you need an up-to-date treatment of modern Go — generics, modules, and the current tooling are simply not here, and you will want supplementary material. [The Go Programming Language on Goodreads]

#go#programming-craft#systems-programming#language-reference