Ask HN: What, in your opinion, are the greatest and most useful textbooks?

189 points by Alekhine ↗ HN
For self-education from books, textbooks are essential. They are literally designed to convey information on a subject to students. But there are a lot of textbooks. Which ones are the best?

Preliminary research has suggested Spivak is best for Calculus. SICP is another famous one I've heard of. What about Physics, Biology, Chemistry, Anatomy, History?

Any contributions to this list are much appreciated.

110 comments

[ 3.9 ms ] story [ 183 ms ] thread
Everyone's gonna inundate you with their 20 favorite textbooks when you have such a general question.

For me, books for self-studying should have a slightly informal tone and ramble a little. The book is your teacher, and I'd like my teacher to speak to me as a student, not a theorem prover, as least when I'm starting. Spivak, Pugh and Axler are some good examples, while I could only grok Rudin after learning all the basic.

Not a lot of experience with physics but I like Symon's Classical Mechanics and Purcell for the same reason. Kleppner's mechanics book has very good exercises too.

Thanks! I appreciate the reccomendations.
Spivak’s Calculus is the best-written textbook I’ve ever encountered and one of the more beautiful examples of book design also.
For formal engineering, Calculus, Sixth Edition, by Earl Swokowski, Michael Olinick, and Dennis D. Pence is the ultimate book to use. Also, my twin brother used it to teach himself Calculus 2.

Swokowski wrote phenomenal books, in math, just in general.

This is why I loved Griffith's introduction to electromagnetism.
All Spivak books are masterpieces (including the last one about physics).

By "Axler", you surely mean the one with the catchy title, about linear algebra. I find it unbearable. The book says: "determinants are difficult and nonintuitive"; anybody who understands determinants: "man, it's the damn area and volume".

Yes indeed. Purcell’s Electricity and Magnetism book is so good, I could understand E & M from a sophisticated point of you even though I could do vector calculus only on very symmetrical situations. And Kleppner/Kolenkow books and Anthony French books are well written.
K&R, Spivak, Randal's Learning Perl, Cricket's DNS and Bind, Petzold's Windows Programming

Flipping through the Smalltalk books was an eye-opener back in the day.

There's an amazing but little-known book in the same printing style as K&R about systems software from the MCC consortium, with tons of C source code.

The Art of Electronics taught me most of what I know about electronics.

It has informal and approachable style and even has a companion study book full of experiments. [1]

One of my favourites from my university days was also Introduction to Heat and Mass Transfer. [2]

Universe is a great introduction to Astronomy [3]

Wind Energy Handbook is also a comprehensive introduction to... well I think you can guess. [4]

[1] https://learningtheartofelectronics.com/

[2] https://www.abebooks.co.uk/9780471457282/Fundamentals-Heat-M...

[3] https://www.goodreads.com/book/show/705558.Universe

[4] https://onlinelibrary.wiley.com/doi/book/10.1002/97811199927...

I learned more about electronics by hacking LTSpice, reading Jim Williams and Bob Pease, than from textbooks.
Interesting, could you provide some links to what to read from them?
1. Get Williams books. I think there are two. 2. Figure out a way to get Pease’s columns from Electronics Design archives. 3. Download all the old Linear Technology App Notes while they are still available from Analog Devices. 4. TI has great app notes too, and software. 5. Learn LTSpice, perhaps the best engineering freeware ever.
Your link [2] doesn't work. If you were linking to Incropera-Dewitt its a great book!
Thanks, updated.

It is indeed Incropera-Dewitt!

what did you read wind energy handbook for?
I was interested in working in the tidal space at the time and this was the best book to start with.

I was also reading an amazing set of papers on horizontal axis marine current turbines by Batten and Bahaj [1]. That was in 2009 so not sure what progress the field has made, but they kinda blew my mind at the time.

[1] https://www.semanticscholar.org/paper/Hydrodynamics-of-marin...

Highly subjective but:

K&R indeed and K&Pike's 'The Practice of Programming'.

Vince's 'Mathematics for computer graphics' (haven't read his calculus book but it's on the wishlist).

Petzold's 'Code'.

Leventhal's Z80 and MC68000 books back in the day.

History, long form: Durant & Durant, "The Story of Civilization"

History, short form: Orwell, "Animal Farm"

(One of these 20th century works is an extended treatment of a bunch of animal bad apples who lie, cheat, and steal to maintain power over their fellow animals. The other is fiction)

Animal Form is not a textbook in any way whatsoever. Downvoted.
Michael Sipser's Introduction to the Theory of Computation. Teaches you formal languages, decidability and complexity theory in a very rigorous way with little prerequisites.
For whatever reason people are often tempted to victimize themselves and assume that everyone has it better than them. Which is an incredibly slippery and dangerous slope(looking at the news over the last few years). And with that in mind, "Factfulness" by Hans Rosling is a __MUST__ imo. Once you wrap your head around the facts, a next good choice is "The Black Swan" and "Antifragile" by Nassim Nicholas Taleb, despite some (to a certain extent justified) bashing on tech people. Note to self: need to pick up "Skin in the Game".

Completely with you about Spivak, as far as calculus goes.

Physics: recently picked up Walter Lewin's "For the Love of Physics" and it's a masterpiece. Didn't get the chance to finish it because of the pandemic and it got locked in the office but it appears he's managed to cram in an entire university course in one book.

Biology and anatomy - "The Selfish Gene" by Richard Dawkins is brilliant entry point for people with limited knowledge on the subject.

Chemistry - no idea, that's the one subject which I hated with a passion since I was a child. Very paradoxical, given that physics was arguably my favorite subject ¯\_(ツ)_/¯...

History - Yuval Noah Harari's books, though somewhat anecdotal as far as history is concerned. I'd say there are way too many to list here and there is way too much to read about all major events in history to fit in just a few books.

Are these textbooks? I think they are more fact-oriented popular literature. I thought textbooks were the expensive kind that are part of university courses curriculum.
Half of the books here are pop science books, they are not textbooks.
~ish. All of those are imo perfect introductions to each of those subjects and can give you an idea where your next step should be.
No they are not. It is an absolute disgrace to the other sciences if you put stuff like The Selfish Gene in the same class as Spivak. Do you want people to go around telling CS beginners that Hackers and Painters is an introductory CS textbook? Or to tell a student of complexity theory that the best way to study NP-completeness is through reading Gödel, Escher, Bach?
I'm sorry, when exactly did I say they are in the same class? I'm not a biologist in any way, nor I ever claimed to be one. You could say the same about Harari in that respect. I am talking about introductions. It's the same story with Lewin. It's nowhere near The Feynman Lectures on Physics but those are simply not something suitable for self-education(which is what OP has clearly stated).
in the vein of the others you posted, "psycho cybernetics" is another good one I'd group with that genre
Harari: 1) Wheat domesticated us, not us wheat. 2) “People think in stories” Drivel, but popular withe IQ 105-120 set.
Which set do you place yourself in?
This is definitely an awesome list.
On Baking

It has some good recipes in it, but the instruction it provides on baking and pastry making has really helped me improve my technique over the years.

If you develop software, Martin Fowler's "Refactoring" is an excellent journeyman level book.
On Food and Cooking is a wonderful introduction to practical everyday food science.
I can second Spivak. Apart from the classic calculus textbook, he has written Calculus on Manifolds which is also a nice introduction into differential geometry.

He also has a huge multi-volume textbook on differential geometry per se but I never read it. Probably brilliant as well.

For Chemistry - Atkins' Physical Chemistry and Claydens' Organic Chemistry are the bibles.

Will take you from undergrad to bits of grad school. Encompassing and clear.

It was a bit harder to find as good a bible for inorganic chemistry.

Softley' Atomic Spectra and Keeler's Why Chemical Reactions Happen are phenomenal primers too but are a bit smaller in scope than the aforementioned two.

The same Atkins from above also wrote Molecular Quantum Mechanics which is also a solid text

I’m a big fan of all of these. Clayden is very gentle (or maybe that’s just Org being easy...). But Atkins gets hard quite fast—-the chat from first years is that beginners will find it a bit tough. I’d generally recommend the cut down Atkins to start (Elements of...) or if you prefer pop Sci The Second Law was great as an UG trying to wrap my head around this. Creation Revisited also rocks.
Yeah Atkins was quite heavy. That said, I think it does a good job of being self-contained. You could more or less get 80-90% of what you need with only that text from high school knowledge. But without additional resources and teachers supplementing, it will probably be too gruelling.

I think that's more because physical chemistry is quite hard

I second atkins, it's a classic and covers base to more advanced subjects very well imo.

I feel it takes time to read, but it's the one book that provided the most value in my understanding of chemistry.

For a solid introduction to undergrad chemistry, I'd recommend Nivaldo Tro, Chemistry: A Molecular Approach.
My choice although its not comp.sci is '22 immutable Laws Of Marketing' As most coders marketing doesn't come as easy to me as coding but damn this old little gem is full of practical mental models and use cases. Very easy read and does not read like a textbook.
Visual Complex Analysis is the best mathematics book I've ever read.

Siegel's free (and source available IIRC) textbook on quantum field and string theory (can't comment on treatment of the latter) is a nice, if completely impenetrable by virtue of being enormous, book.

I recommend "Advanced Tire Mechanics" to anyone looking for a proper, modern, book on the subject - Pacejka's writing is messy and dull.

For biology, assuming a CS/engineering background:

Campbell's Biology

Synthetic biology: A Primer

An introduction to systems biology by Uri Alon (get the 2020 edition)

O'Reilly: Biobuilder

A good Open Courseware companion for the SynthBio texts is 20.305x Principles of Synthetic Biology.
I'm not sure whether David Mackay's Information Theory, Inference, and Learning Algorithms (freely available at http://www.inference.org.uk/mackay/itila/book.html) counts as a textbook, but it's one of my favorite books, on any topic, in any genre.
He also has a sense of humor, so plus one for him.

http://www.inference.org.uk/mackay/itila/Potter.html

Had. Unfortunately Professor MacKay passed away from cancer in 2016. We lost a great soul.

I concur that his textbook and sense of humor were fantastic. It was very enjoyable for me to learn the material from his lectures. They are a great supplement to the textbook (or maybe vice versa?) and you can find them here: https://youtu.be/BCiZc0n6COY

For the theoretical part of computer science, Introduction to the Theory of Computation by Michael Sipser is the best there is.

It covers three main topics: - Automata theory - Computability - Computational Complexity

What I especially liked about the book was how he approached proofs. When introducing a proof, there is first a short "proof idea" paragraph that emphasizes the main approach behind the proof informally. He then gives out the full, formal proof. For self-study, those proofs can sometimes be intimidating, and not strictly necessary depending on your goals, but understanding the ideas was important to understand the topic.

SICP is great for me because I get new things from it on repeated readings. The original content is ostensibly suitable for a freshman (provided you are familiar with the mathematical domain) but the ideas around abstraction and modularity are timeless. If you study and reflect on the content, Sussman and Abelson are truly trying to guide the student to arrive at an appreciation of software engineering concepts.

I remember there being a question where after implementing a tree where the leaf nodes are represented as a list, they then pose the question - how much of your code needs to change if you needed to reimplement them as a pair?

The point being a pithy lesson in indirection/abstraction - had the student set up named accessors, there would be very little code to change.

To me the crown jewl of SICP is the universal scheme interpreter they build in the later chapters. That opens the book to be used in _any_ language. Now we have an internet there are hobby schemes implemented in every language, so it's fairly easy to find ideas if you are stuck implementing the necessary substrate using the language of your choice (ie. mostly tokenizer, parser and some form of eval/apply).
Halliday and Resnick, 60’s version. Feynman’s Lectures. Thomas’s Calculus books. The Scientist and Engineer's Guide to Digital Signal Processing Steven W. Smith, Ph.D. (Has always been available free. So good, I bought a hardcover one.)
Baby Rudin, you'll come out a different person. (There might be some tears..)
It's great that you're the sort of person who learns from text books, but I'm seriously bad at it. Maybe it has something to do with learning styles?
On History: Not textbooks, but if you want an enticing read to relatively recent times, I suggest biographies.

Ron Chernov: Alexander Hamilton. An excellent introduction to the birth of US. As a european US history is not that well covered in our school. There's also the musical version by Lin Manuel Miranda which alone is worth a few books of education alone.

On the birth of modern india: Herman: Gandhi & Churchill: The Epic Rivalry that Destroyed an Empire and Forged Our Age

On the roman world: Julius Caesar: Gallic wars. This is a surprisingly readable book given that it's a propaganda piece written two thousands years ago. Highly recommended as it gives insight to just how organized-yet-cruel the ancient world was.

General history:

Acemoglu: Why nations fail. This is a must read. It attempts to explain (with great success) how institutions have molded the modern states into the way they are now, and what exactly seems to be at the root of inequality and prosperity.

If I had to recommend two books, "Why nations fail" would always be one on that list.

Glimpses of World History, a book published by Jawaharlal Nehru in 1934, is a panoramic sweep of the history of humankind. A People's History of the World: From the Stone Age to the New Millennium
Edmund Morris: The Rise of Theodore Roosevelt is an amazing biography. It read like an adventure novel.