01 — The Five Books¶
You will finish these five. Not skim, not “reference” — finish. Every senior C engineer you would want to hire has read at least three of these cover-to-cover. Together they cover: the language (K&R, King, Gustedt), the professional’s mental model (van der Linden), and the modern toolchain reality (Klemens).
The order matters. Do not open Expert C Programming in month one; do not skip Modern C because you “did K&R already.” The sequencing column below is calibrated for a working engineer at 10-15 hours/week.
The Five¶
# |
Book |
Author |
Year |
Pages |
Cost (USD) |
Time-to-read |
Month |
Non-negotiable because |
|---|---|---|---|---|---|---|---|---|
1 |
The C Programming Language, 2nd ed |
Kernighan & Ritchie |
1988 |
272 |
~$40 print, PDFs circulate |
25-35 h |
M1 (skim) + M13 (deep re-read) |
The prose economy is the pedagogy. You must be able to read K&R fluently — every serious C repo assumes you have. |
2 |
C Programming: A Modern Approach, 2nd ed |
K.N. King |
2008 |
832 |
~$95 print / ~$70 used |
80-120 h |
M2-M3 |
The best modern textbook for a returning learner. Exercises are the actual value; do them. Covers C89+C99, still the r/C_Programming default recommendation in 2026. |
3 |
Modern C, 2nd ed (C17) or 3rd ed (C23) |
Jens Gustedt |
2nd ed 2019 (free PDF) / 3rd ed 2024 (Manning) |
~408 |
Free PDF (2nd) / $40 (3rd) |
40-60 h |
M3-M4 |
Gustedt is on WG14. This is C the way the standard body writes it. Free HAL PDF of the 2nd ed is still the recommended entry: https://inria.hal.science/hal-02383654v2/file/modernC.pdf. Upgrade to Manning 3rd ed only if you want C23 coverage. |
4 |
Expert C Programming: Deep C Secrets |
Peter van der Linden |
1994 |
384 |
~$30 print / used $10 |
20-25 h |
M6 |
The declarations chapter and “the ten most common mistakes” chapter alone justify the purchase. Sun/SPARC anecdotes are dated; the insight into how C thinks is not. |
5 |
21st Century C, 2nd ed |
Ben Klemens |
2014 (O’Reilly) |
408 |
~$40 print / $30 ebook |
20-30 h |
M5 |
The bridge book: gdb, valgrind, autotools, make, gsl, sqlite — how to ship C, not just write toy programs. Nothing else covers the tooling story this cleanly. |
Why not other “canonical” books¶
The C Book (Banahan et al., 1991) — free, thorough, but the pedagogy is dry vs. King. Use as reference if you own it.
C Primer Plus (Prata) — verbose, spoon-feeds. King wins on every axis.
Head First C — cute for absolute beginners; you are past that.
C Traps and Pitfalls (Koenig, 1989) — 160 pages, still gold, but Expert C Programming folds most of its lessons in. Read the free PDF (search: “andrew koenig c traps pitfalls pdf”) if curious; not required.
Advanced Programming in the UNIX Environment (Stevens/Rago, 3rd ed 2013) — this is a systems book, not a C book. It goes into your systems phase (M7+) as reference, not read-through.
The Linux Programming Interface (Kerrisk, 2010) — 1552 pages. Reference-grade. Do not read cover-to-cover; look things up.
What most people get wrong about this list¶
They start with Expert C Programming because it sounds advanced. It is advanced for someone who already writes C daily. Read out of order and you will bounce off. The correct path is: K&R skim → King (do the exercises) → Modern C → 21st Century C → Expert C Programming. K&R again at M13 as a victory lap; it will feel like a different book.
Return to README.md · Next: 02_free_online_books_and_guides.md