
The nature of computation
by Cristopher Moore · first published 2009
16mentions
10recommended by
14HN commenters
2014–2025first – last mentioned
71% recommend29% neutral
Why HN recommends it
Example-driven tour of computation theory covering abstraction, complexity, and physics-adjacent ideas, with many problems and exercises. Suits readers wanting a deep foundation
Summarised by Claude from recommending comments
Affiliate links. As an Amazon Associate I earn from qualifying purchases.








…Here's a more fun reading list, based off my own tastes. Maybe some of these are on the list, but I found it hard to scroll past a certain point as well: - Expert C Programming: Deep C Secrets - The Nature of Computation - The Little Schemer - Programming Pearls
on “Reddit's favorite programming books, from 3.5B comments” ↗The place I wish I had started at: The Nature of Computation - Moore, Mertens What I got (graduate coursework): Graph Theory - Reinhard Diestel A more encyclopedic treatment (most big results, no proofs): Handbook of Graph Theory - Gross, Yellen
on “I don’t understand Graph Theory” ↗Here are some great books which are meant to be read (and have not been mentioned elsewhere in this thread, i.e. Axler and Pugh). Algebra: Chapter 0 by Paolo Aluffi Measurement by Paul Lockhart The Nature of Computation by Moore & Mertens Ideals, Varieties, and Algorithms by Cox, Little, & O'Shea
on “Ask HN: How or where to begin learning mathematics from first principles?” ↗…There isn't really anything that compares in terms of its comprehensive coverage of abstraction at the basic level, and you'll eventually need something like it. I simply love Moore & Merten's "The Nature of Computation"; it's probably the only book for the absolute (but mathematically-minded) beginner about the theory of computation that manages to be incredibly captivating and lucid (while also covering a significant…
on “Ask HN: How or where to begin learning mathematics from first principles?” ↗…classic from 1994 is "Computational Complexity" by Papadimitriou. Two good sources for newer material (from the past quarter-century) are "Complexity Theory: A Modern Approach" by Arora and Barak, and "The Nature of Computation" by Mertens and Moore. A personal, idiosyncratic favorite is "Gems of Theoretical Computer Science" by Uwe Schoning.
on “I'm Scott Aaronson, quantum computing/computational complexity researcher. AMA” ↗Probably a little more advanced than what you are looking for but I would like to recommend The Nature of Computation by Cristopher Moore and Stephan Mertens as a next step. It is such a fun book to read, with a lot of problems and exercises. http://nature-of-computation.org/
on “Ask HN: What book to read to get a footing in CS theory?” ↗This book <<The Nature of Computation>>[0] has the best explanation I have ever seen. [0]: https://www.amazon.com/Nature-Computation-Cristopher-Moore-d...
on “Ryanair, Hamiltonian Cycles, and using graph theory to find cheap flights (2018)” ↗…Michael Jordan at Berkeley does a lot cool stuff with along these lines. Very rambly message I see now, so I'll stop and just give some references/recs and maybe polish up later. A few recommendations-- Nature of computation - Cris Moore I think Information and physics(?) - Mezard and montanari Computational beauty of nature -Flack(?) Newish book from SFI from a conference I was at a few years ago may interest you, The…
on “Ask HN: Which algorithms based on biological ideas do you know?” ↗…books: 1. Nonlinear Dynamics & Chaos (Strogatz) 2. the Way of Analysis (Strichartz) -- note, this one is controversial as to its quality as a math book but I really like the presentation style 3. The Nature of Computation (Moore & Mertens)
on “Ask HN: Books that made you fascinated to learn more mathematics?” ↗Really excited for this book. I would also recommend "The Nature of Computation" by Cristopher Moore and Stephan Mertens if you are interested in these topics. It is really an underrated book and hands-down is the most enjoyable technical book that I have ever read.
on “Computers and Intractability: A Guide to Algorithmic Lower Bounds” ↗Surprised the author didn't mention the book Nature of Computation by Mertens and Moore. It's a classic ... and available now at the everyday low price of $0 on LibGen.
on “Resources for Learning Computational Complexity Theory” ↗…Theory: The Logic of Science Information Theory, Inference and Learning Algorithms Information, Physics, and Computation Elements of Information Theory Pattern Recognition and Machine Learning The Nature of Computation Principles of Cyber-Physical Systems Introduction to Embedded Systems, Second Edition: A Cyber-Physical Systems Approach Data-Driven Science and Engineering: Machine Learning, Dynamical Systems, and…
on “Ask HN: What do you read for general knowledge?” ↗There's lectures for that book if you're interested (I don't own the book yet) https://ocw.mit.edu/courses/mathematics/18-065-matrix-method... In my free time I attempt to work through The Nature of Computation by Stephan Mertens & Cristopher Moore. Edit: Forgot to add, there's lectures for the TCS book too in this playlist specifically 'CS Theory Toolkit' https://www.youtube.com/channel/UCWnu2XymDtORV--qG2uG5eQ/pla...
on “Ask HN: What kind of math do you study in your free time?” ↗> Mertens Theory of Computation No such book exists. Do you mean The Nature of Computation by Moore and Mertens?
on “What does “Undecidable” mean, anyway” ↗…which also has depth, and maybe broadens their view of maths beyond analysis. I'm thinking something along the lines of The Princeton Companion to Mathematics, Spivak's Calculus, or Moor & Mertens The Nature of Computation. What would you have appreciated having been given at that age?
on “Ask HN: Recommend a maths book for a teenager?” ↗