Hacker News new | comments | show | ask | jobs | submit login
Ask HN: What's the best textbook you've read?
135 points by lainon 10 months ago | hide | past | web | favorite | 69 comments

"Best" is a vague metric, but one textbook I am always happy to recommend is the Princeton Companion to Mathematics.

The book is a selective review of the most significant ideas in maths and mathematical research. The great editorial process is what sets this book apart from the rest: each chapter is authored by an outstanding expert in his/her particular field (among which several fields medalist the likes of Terence Tao) and the editing by Timothy Gowers does an amazing job of uniforming the tone, notation and rigor across the whole text.

The authors were evidently chosen also for their communication skills since the articles come across as quite discoursive and really convey the beauty of modern maths.

In the book you'll find not only the articles on mathematical concepts, but also an introduction to modern mathematics, chapters on the relationship of maths with other sciences, a thorough history of mathematics and a collection of biographies of famous mathematicians.

Well recommended to anybody with an interest in maths. My background is in CS and I found it approachable (except minor sections) and illuminating!

I read almost all of it cover to cover when I was an undergrad in math, when I still had intention of going to grad school, to get a sense of which area(s) of math I'd like to pursue further.

It is incredibly illuminating and I also recommend it highly.


In case you didn't know, have a look at http://lesswrong.com/lw/3gu/the_best_textbooks_on_every_subj...

This has been recommended a lot. I'm gonna buy it on Amazon and work through it slowly.

SICP is online for free (legally) from MIT's website, or there are some community version with cleaner layout. See: https://news.ycombinator.com/item?id=13918465

I've only worked through Chapter 1. The text is interesting, but most of my learning has come from the exercises. You should plan to do the exercises. Also, don't worry if you have to skip a few exercises and come back to them later. Don't allow yourself to be bogged down and loose interest over a single difficult exercise.

yes, no need to buy it.

and you are right, the value lies in the exercises. I started doing them in Clojure. I recommend doing as many as you can and then you'll find plenty of solutions online to compare your results. It's worth it

There is an interactive version of that textbook you can read. It actually helps to do the exercises with the text. You can Google it. I read that book using that version and it was amazing.

Have been recommending CASI to everyone who listens.

Everyone has their own unique datasets. And anyone can install data science platforms such as Anacondas. But being able to map a particular algorithm to the inference you wish to make. And understanding, from a historical context, precisely what that inferences means at a philosophical level. That is where this text will assist on your path to mastery.

Computer Age Statistical Inference


Introduction of Quantum Mechanics and Introduction to Electrodynamics, both by David J. Griffiths. He also wrote Introduction to Elementary Particles, but I have not read that one.

Both books masterfully take exceptionally complex fields and break them down into easily digested chunks, with a clear progression of ideas as you go through the book. Do note that these are "Introduction" books written for Junior/Senior Physics majors.

You should also have a solid background in calculus before fully understanding these books. Typically, Physics majors take every undergrad calculus class offered in the math dept. at a college, then a few more in Physics just to be sure.

I'd say if you have a basic understanding of calculus (derivatives and integrals), you could get though Griffiths' books with another companion book, like what my college used: https://www.amazon.com/Mathematical-Methods-Physical-Science...

I'm still upset that my copies of Griffiths' texts were stolen my senior year of college...

Yeah, I could see that. Mostly, you need to be really comfortable with multivariable integration.

I had to learn some quantum for a graduate class, and even with my engineering background, Intro to Quantum by Griffiths was both extremely helpful and an awesome read. It's the first book that came to mind when I read the question.



I actually jumped in this thread to recommend Griffiths' Electrodynamics.

Even the review sections on how to think about things like divergence and curl is particularly well done by Griffiths.

Definitely, Griffith's Electrodynamics was a lot of fun. Still fondly recall working through the problems.

Visual Complex Analysis - Needham. A lot of great pictures, exerything is explained (and shown) geometrically. Complex differentiation/integration, non-Euclidean geometry, vector fields etc.

Mathematics and its History - Stillwell. Wonderfully written. From the ancients to the 20th century, covers the mathematics (in a lot of detail) and lives of major mathematicians (potted bios).

Concrete Mathematics - Knuth et al. Discrete maths, number theory, generating functions, covers most of the maths that pops up continually in programming.

All You Wanted To Know About Mathematics But Were Afraid To Ask. Mathematics for Science Students 2 Vols. - Louis Lyons. Pretty basic, but covers all the mathematical basics for physics. (1st year uni level I guess) I learned a lot from this years ago, I still consult it as a reference. It's a pleasure to read.

Also, all of Hamming's books.

Ohh! Thank you! :-) So kind of you.

Lisp in Small Pieces: https://pages.lip6.fr/Christian.Queinnec/WWW/LiSP.html

An excellent and very fun read about compilation, interpretation, and programming semantics.

I don’t think you already have to know LISP, although there isn’t an introduction, but if you know any programming it would be enough to pick up the programs that are used as examples. Source code from the book is available and you will end up programming as you move along and it is a delight to see yourself make a program that can interpret another program.

There is: Clojure in Small Pieces,http://daly.axiom-developer.org/clojure.pdf

The Art of Electronics by Horowitz and Hill

It covers nearly all aspects of electronics both theory and practice. It’s still relevant after all these years.

I didn't learn electronics with this book, but I really wish I did. I used it to give tutorials for an undergraduate electronics course for physics students and it was immensely useful and well organized.

The work book that goes along with it is also top notch.

The third edition is still fairly current. So to speak.

Strang's Linear Algebra: http://math.mit.edu/~gs/linearalgebra/

Concise, clear, thorough. Strang is a great author.

I watched so far the first 7 or 8 lectures on youtube of his linear algebra course. (Which something like a million people have watched) He's such a great lecturer, extremely impressive. So mysteriously good it makes me wonder what it is about them that seem so good. He says somewhere about how he gets a lot of mail thanking him, that people appreciate that he's on their side. It's just done with what the experience is like for the student always in mind. Sounds simple, but there are plenty of lecture/course videos on youtube where that obviously wasn't given a thought.

AI - A modern approach by Russell & Norvig. http://aima.cs.berkeley.edu/

This is the one textbook that’s a common denominator at my work. Almost everyone seems to have a copy, and for good reason.

How to use this book? My machine learning lab have few copies but nobody seems to be using it.

It's actually not all that useful for Machine learning and is more focused on other aspects of AI. It talks a lot about propositional logic, knowledge representation, etc.

Well, for nerd books, "Modern Operating Systems" by Andrew Andrew Tanenbaum. It was until years later that I realized just how much I had learned from that book, and the consolidated notes from the Usenet flame war between him and Linus Torvalds.

There's just so much "how does all this shit actually work" in there ....

Computability and Complexity by Neil Jones: http://www.diku.dk/~neil/comp2book2007/book-whole.pdf

It is extremely readable and presents very theoretical concepts in a pragmatic way. Love it.

Haven't read it personally but heard great things about: Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp - Peter Norvig


Introduction to Algorithms (CLRS). With the caveat that I'm not sure I've ever "read" a textbook, but I've referred to a lot of them.

The Elements of Statistical Learning. (https://web.stanford.edu/~hastie/Papers/ESLII.pdf)

A bit late to this party, but: Campbell et al.'s "Biology" is the best textbook I've ever read. It starts at entry level but goes really deep. Everything is explained very well and beautifully illustrated. To add context to the "hard" scientific content, there are also interviews with leading researchers in biology who provide their points of view on the main themes of the book.

There is a bewildering confusion of editions and versions of this book, but look for a book called "Biology" or "Campbell Biology" with Neil A. Campbell and Jane B. Reece in the author list, but not necessarily listed first. There is what I believe to be an abridged version called "Biology: Concepts and Connections", and something called "Biology: A Global Approach", which may just be the name for the newest editions.

Yep, that's the one I was going to say :-)

"It goes really deep" is, unfortunately, a relative description. Half-way through my undergraduate studies, I had pretty much outgrown it and needed more specialized books.

Nonetheless, it is a superb entry-level college textbook that covers the entire breadth of modern biology. The text is very understandable and gives more background information than is needed for a typical introductory lecture to any given topic (while still emphasizing the salient points so you don't get confused). Apart from the above-mentionend interviews, it also includes sections on current methods in biology, which are pretty handy when you're new to the field. Plus, the illustrations are simply excellent: pretty to look at and a huge help for understanding. On the whole, I find it to be one of the most aesthetically pleasing textbooks I know. (Beaten only by Futuyma's "Evolution".)

My best investment in university so far!

Gilbert's "Developmental Biology" is another great (and really good-looking) textbook. It almost made me want to go into developmental biology, just for the textbook :D

It's not the best textbook ever, but Shankar's book on quantum mechanics is interesting. It builds everything from ideas about vector spaces and the underlying mathematics (in an accessible way) before quantum magically pops out. You end up understanding bra-ket notation without realising it.

Unfortunately, someone stole it from me, but it was an introduction to philosophy book that really opened up my mind, introducing philosphers including Socrates, Plato, Aristotle, Augustine, Aquinas, Confuscious, Hobbes, Hume, Foucault, Kant, Kierkegaard, Lao Tzu, Locke, Marx, Mill, Rand, and more. It basically covered who they were, how they grew up, and what they've stated that has helped contribute to our society. Very interesting book. Can't recall the exact name of it, but I don't the book anymore to do my research and read any of these philosophers.

Reinforcement Learning 2nd Ed By Sutton & Barto was surprisingly readable.

The Feynman Lectures.

(I think I've read the first volume, at least, even though I don't claim to have understood it all.)

Not tech - but "German - A Structural Approach".

Its the only book i still have from uni. It breaks the language down, and made it easy for a techie like me to learn german. Can still speak a fair bit

I'd like to piggyback on this question and ask specifically for a good textbook on distributed systems

Engineering Mathematics and Advanced Engineering Mathematics by Ken Stroud

Lots of worked examples. Very easy to follow and really helped me "teach myself" calculus and advanced calculus.

The C Programming Language, by Kernighan & Ritchie (2nd Edition). I picked that up and was hooked.. 30 years ago

Really? I've read it a few times but I never thought it was a great book.

I liked the first edition of K&R a lot. Today I suspect it shines most when compared to recent intro language books. It was succinct yet offered insight into both the language's design concepts and its implementation -- an introduction to software based on Strunk & White's spartan model of exposition.

Given the abstract nature and swiss-army knife mission creep of today's languages, it's a rare intro PL book today that's smaller than 600 pages. (K&R 1978 fit into a mere 220.)

Coding the Matrix: Linear Algebra through Applications to Computer Science [0]

A hands on introduction to both Python and Linear Algebra using real world cases (ex. you are given a high res image, make a low res version to put on your website so that it could load more quickly).

[0] https://www.amazon.com/Coding-Matrix-Algebra-Applications-Co...

Spivak's "Calculus".

MPLS-Enabled Applications: Emerging Developments and New Technologies by Ina Minei and Julian Lucek. There are a lot of books out there on MPLS services, but this one stands out for me because of the way it is written: the subject matter is clearly explains some very complex topics in a way that even a beginner network engineer could grasp, while not being a wordy tome that you never get around to finishing.

A dear favorite of mine was Baldor's Algebra. Everyone else in high school was scared of it, but I found it to be very methodical and easy to follow from one topic to another.

Picture of the cover, with text in Spanish: https://es.wikipedia.org/wiki/%C3%81lgebra_de_Baldor

I've seen SICP and Elements of Computing mentioned already. I'd like to throw "The Nature of Code" in with these.

Numerical Linear Algebra by Trefethen and Bau.

I loved working through this years ago. Clear and succinct.

3 so far:

1. Elements of Computing Systems

2. On Lisp

3. Game Engine Architecture

Edit: 2 -> 3

Elements of Computing Systems is NAND2TETRIS, right?

Yes, it is.

Introduction to Probability, by Blitzstein and Hwang. Builds your intuition for the most unintuitive subject.

Haven't read the book but the lectures are good! https://youtube.com/playlist?list=PL2SOU6wwxB0uwwH80KTQ6ht66...

The Camel book¹ is pretty fantastic.

I hope the "Learning Perl 6" book by brian d. foy will be as good. -- ¹ https://en.wikipedia.org/wiki/Programming_Perl

For a textbook where the author does a brilliant job of introducing a complex topic:

Spacetime and Geometry an Introduction to General Relativity by Sean Carroll.

Also the textbooks by David Griffiths and Gill Strang mentioned in other comments.

The Unfinished Nation by Alan Brinkley

Morrison and Boyd, Organic chemistry

Guidurati, Econometrics

Samuelson, Economics

Computer Networks by Tanenbaum

Entertaining and insightful.

Combinatorics, A guided tour - Mazur

Denial of death by Ernest becker

Sakurai Quantum Mechanics

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact