THE READING ROOM / BOOK GUIDE
Programming from the Ground Up
A programming book that begins with assembly language on Linux, where instructions, registers and memory addresses stay visible, and works upward toward the abstractions most introductions supply ready-made.
About the book
Programming from the Ground Up takes the low road into software. Jonathan Bartlett begins with assembly language on Linux, where a program's movement of bytes and its calls to functions happen at the level the processor executes. The premise is that programmers understand more when they have watched those operations directly.
From that base the book works toward larger ideas: how functions are called and how the stack supports them, how data is represented, and how the operating system mediates between a program and the hardware. The arc is cumulative. Each concept depends on the one before, so the reader is meant to follow the sequence rather than sample chapters.
The subject is the craft of programming as much as any single language. Assembly serves as a teaching instrument, a way to make memory management, calling conventions and system calls concrete before they become invisible conveniences in C or another higher-level language.
How to read it
Plan to read with a terminal open. The material rewards typing the examples, assembling them and inspecting what happens when they run. Skipping the exercises turns a hands-on book into a description of one.
Expect a slower pace than a modern language tutorial. Assembly is verbose and unforgiving, and early confusion about registers or stack layout will compound later. Readers who already know some C will move faster, because the book's higher-level discussions assume familiarity with basic programming constructs.
Who it suits
This suits programmers who can already write simple programs in some language and now want to know what the machine does with them. Students of systems programming, self-taught developers filling a gap, and anyone preparing for compiler, operating system or security work will find the low-level grounding useful. It also fits readers who learn by building small things and watching them run.
Reading considerations
The book is tied to Linux and to the x86 assembly tradition, so readers on other platforms or modern architectures should check how much of the toolchain and instruction set still matches their setup. Assembly details age faster than programming ideas. Treat the specific syntax as a snapshot and the underlying concepts as the durable part.
Follow the HN conversation
36 different recommenders are recorded in the upstream dataset. These are AI-classified source counts, not an independent rating.
Search HN comments about this book ↗
Explore videos on the same subject ↗
Book notes prepared with DeepSeek, using catalogue records and Open Library subject information. They are reading guidance, not a personal review or a verified chapter-by-chapter account. Book details can vary by edition. HN data methodology · Book metadata and covers.
