Harshit Batra
← Back to Resources

Golang

Go: A Language With Only 25 Keywords — and Why That's the Point

Go has about 25 reserved keywords. C++ has over 90. That's not trivia — it's the whole design philosophy: fewer ways to do the same thing, so any engineer can read unfamiliar Go code and understand it in minutes, not days.

What Go actually is

Go is a compiled, statically-typed language built at Google in 2007, designed for systems and scalable services. It compiles to a single static binary — no runtime to install, no dependency resolution at deploy time, just copy the file and run it.

Concurrency is built into the language, not bolted on

Most languages treat concurrency as a library. Go treats it as a primitive:

go longRunningTask() // runs in background immediately
fmt.Println("this runs without waiting")

Goroutines are lightweight enough that spinning up thousands on one machine is routine, not a performance concern. Channels let goroutines communicate without manual locking, following Go's own mantra: "Do not communicate by sharing memory; share memory by communicating."

Why the binary matters more than it sounds like it should

A Go build produces one static binary with its dependencies compiled in. In practice: no "works on my machine" runtime mismatches, no JVM or Node runtime to install on the server, and Docker images small enough to measure in megabytes instead of hundreds of them.

Where it actually earns its place

Good fit Why
Cloud infrastructure Docker, Kubernetes, and Terraform are all written in Go
Microservices Small footprint, fast cold starts
Network tools Proxies, load balancers, API gateways
Poor fit Why
Quick scripts The compile step and verbosity add friction Python doesn't have
Monolithic UI apps Go has no real UI framework story

Quick recall

  • ~25 keywords vs. C++'s 90+ — the core bet is readability over expressiveness
  • Goroutines + channels: concurrency is a language primitive, not a library
  • Compiles to one static binary — no runtime needed on the server
  • Best fit: infra, microservices, network tools. Worst fit: scripts, UI apps

If you're starting from zero, the official Tour of Go is still the fastest way in — interactive, runs in the browser. If you're weighing Go against Node for a specific service, that trade-off is its own note.

Quick quiz

  • 1. What's Go's core design bet, reflected in having ~25 keywords vs. C++'s 90+?

  • 2. What is Go's own mantra for concurrency?

  • 3. Where does Go fit poorly?