top | item 23485477

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

189 points| Alekhine | 5 years ago

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.

108 comments

order
[+] MrsPeaches|5 years ago|reply
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...

[+] aj7|5 years ago|reply
I learned more about electronics by hacking LTSpice, reading Jim Williams and Bob Pease, than from textbooks.
[+] abhgh|5 years ago|reply
Your link [2] doesn't work. If you were linking to Incropera-Dewitt its a great book!
[+] alexandra_cgg|5 years ago|reply
what did you read wind energy handbook for?
[+] magnio|5 years ago|reply
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.

[+] gisborne|5 years ago|reply
Spivak’s Calculus is the best-written textbook I’ve ever encountered and one of the more beautiful examples of book design also.
[+] enriquto|5 years ago|reply
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".

[+] aj7|5 years ago|reply
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.
[+] jbay808|5 years ago|reply
This is why I loved Griffith's introduction to electromagnetism.
[+] Alekhine|5 years ago|reply
Thanks! I appreciate the reccomendations.
[+] fgimenez|5 years ago|reply
- Norvig's AI: Doesn't have much deep learning, but you get through it and understand the expansiveness of the field.

- Algorithms - Papadimitrou and Vazirani: I had a professor who described this as a poetry book about algorithms. Alternative is Sipser

- An Introduction to Statistical Learning: This is like a diet form of Elements of Statistical Learning which is much more approachable and pragmatic.

- Janeway's Immunobiology - De facto standard of immunology. Great.

- SICP: duh

- Principles of Data Integration: This is more because the subject matter is so important and nobody really has studied fundamentals. Did you know general data integration is AI-complete? If 99% of work in AI was spent on data integration, the field would move so much faster.

[+] fsloth|5 years ago|reply
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.

[+] venmul|5 years ago|reply
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
[+] Balgair|5 years ago|reply
Edmund Morris: The Rise of Theodore Roosevelt is an amazing biography. It read like an adventure novel.
[+] supernova87a|5 years ago|reply
Edward Tufte's books, "Envisioning Information" and "The Visual Display of Quantitative Information".

Why suggest these books that seem just about graphic design, to an audience of mainly software developers? Well, aside from the stylistic points about graphical plots and figures, it is more deeply about being able to communicate effectively, with intention.

I find that all too commonly, many junior people who code are unable (or maybe more charitably, unpracticed) at formulating arguments or explanations for why something exists in the form it does, or how it ought to be designed, in a way that they can coherently explain to someone not deep in their code. It usually means that they have not spent time thinking about it deeply, and are stuck in the "show me lines of code to explain what something is" mode of thinking. Or that they can only explain the approach in terms of the specific lines they are writing -- they have not moved beyond that level of understanding.

I won't say it to the person generally, but I really have to bite my tongue when working with someone who has no way of explaining something (at an overall approach level) other than showing me lines of code. Stepping out of that realm into graphical communication is one way.

Being able to think graphically in a coherent way as a software developer means you start to think about how to explain your work to others as more than lines of code -- and in explaining to others, improving your own understanding of what you're writing. Btw, it also probably means that you're more likely move beyond the role of just a plain old software developer and become someone responsible for the design of systems, the direction of work.

[+] axegon_|5 years ago|reply
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.

[+] mongol|5 years ago|reply
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.
[+] ampdepolymerase|5 years ago|reply
Half of the books here are pop science books, they are not textbooks.
[+] aj7|5 years ago|reply
Harari: 1) Wheat domesticated us, not us wheat. 2) “People think in stories” Drivel, but popular withe IQ 105-120 set.
[+] hejja|5 years ago|reply
in the vein of the others you posted, "psycho cybernetics" is another good one I'd group with that genre
[+] disabled|5 years ago|reply
This is definitely an awesome list.
[+] tambourineman88|5 years ago|reply
The 2nd edition of Statistical Rethinking by Richard McElreath came out recently and is great. It's a rare thing to want to read a statistics textbook cover to cover but I did with this and enjoyed it. The practice questions are very well designed and I think get the difficulty about right for the target audience (natural and social science post-grad students).

If R isn't your bag then there are many translations of the code examples to other languages available online.

[+] disabled|5 years ago|reply
Statistical Rethinking is solid for learning very, very, complicated concepts, such as various tricky implementations of Markov chain Monte Carlo.
[+] yomly|5 years ago|reply
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

[+] WWWWH|5 years ago|reply
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.
[+] wrycoder|5 years ago|reply
For a solid introduction to undergrad chemistry, I'd recommend Nivaldo Tro, Chemistry: A Molecular Approach.
[+] yomly|5 years ago|reply
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.

[+] fsloth|5 years ago|reply
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).
[+] watwut|5 years ago|reply
History: imo, forget about textbooks. Books are much much better. Textbooks are less readable meant for people who will force themselves to go to lectures, revise, revise, write notes and actually study.

- "The Third Reich Trilogy" from Richard J. Evans about Germany during WWII is the best thing I read about WWII.

Now I am reading "The rebellious life of Mrs Rosa Park", pretty good too, although the topic is super specific.

Also, I would also recommend to have a look at "Lectures in History" podcast from c-span. They are are lectures from universities about American History. The lectures also contain book recommendations, so if you are interested in this or that topic, they are good source of books.

[+] abhayb|5 years ago|reply
Computer Systems: A Programmer's Perspective. Flies a little under the radar. I'm definitely biased here (TA'ed the class that originated it). But by the end of it I left with a decent understanding of x86-64 assembly to the point that I could hand compile C functions. And also a rough and ready understanding of how shells, malloc, and web servers work.
[+] 8589934591|5 years ago|reply
I am planning to go through this book later this year. Can you help me understand what the difference is between this and Hennessey Patterson's book Computer Organization and Architecture? Like, why would/should I study x86_64/ARM/RISC V/MIPS/anything else? Is there a difference in approach or the architecture?
[+] kyawzazaw|5 years ago|reply
I just took a course at my college based upon this book and 15-213 although I believe we follow a less intense version than 15-213 (one of the variation the book recommends).

It's really helpful that I actually bought a copy to keep. (I don't really buy textbooks, I just get them from the library.)

[+] teleforce|5 years ago|reply
In my field it is Computer Networking: A Top-down Approach by Kurose. I've been using it as the main textbook for computer networking course for more than ten years.

On related notes, for the past few weeks I've spent countless hours searching and compiling good to excellent textbooks in the field of engineering and computer science. Perhaps I can share the information in the near future.

[+] nindalf|5 years ago|reply
Look into teachyourselfcs.com. They have a good list of areas every good programmer should be comfortable with and a recommendation for books/lectures that teaches that well. They explain why each area is important to learn and why the book is an apt choice.

They recommend Kurose and Ross for networking too, though I disagree. I feel like High Performance Browser Networking (free at hpbn.co) is superior.

[+] okaleniuk|5 years ago|reply
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.

[+] aj7|5 years ago|reply
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.)
[+] ege_erdogan|5 years ago|reply
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.

[+] randycupertino|5 years ago|reply
Clinical Microbiology Made Ridiculously Simple.

Fantastic breakdown of micro into understandable and memorable concepts, helped me get through intense classes while making it interesting via funny if cheesy mnemonics and artwork: https://www.amazon.com/Clinical-Microbiology-Made-Ridiculous...

All of the "Made Ridiculously Simple" texts from that publisher are fantastic, but imo the Clinical Microbiology is the best of the best.

[+] Boulth|5 years ago|reply
Statistics by Freedman et al is a great introduction to statistics. It took me a year to fully read it but the exercises are fun, real world examples of applying statistical methods.