Ask HN: Which books do you consider real gems in your field of work/study?
Well written books can serve as eye openers and warp your understanding of a topic when read at the correct time in your life.
Can you name a few books of that type that really were of such high value in your field of work or study?
269 comments
[ 4.5 ms ] story [ 610 ms ] threadMaths: Rudin's Real and Complex analysis.
Software engineering: The Mythical Man-Month.
Computer science: Knuth's TAOCP.
https://www.informit.com/store/art-of-computer-programming-v...
Yes!! Rudin kills it, but you need a year or two to get through this gem. A course in university will go too fast for sure.
I've been ever-so-slowly self teaching higher maths. Right now halfway through Hammond's book of proof and almost done with Polya 1.
The thing is, “analysis” in (English) mathematical vernacular covers a lot more than were dreamt of in Newton’s philosophy, and that in turn is a lot more than is habitually included in a course entitled “calculus”.
On the other hand, most calculus courses cover (badly and shallowly) many things that are properly from other places (commutative algera [field axioms], order theory [Dedekind completion], general topology [limits and opens], set theory [cardinals]) but just can’t be avoided when talking about the reals.
So, what do you not get in a standard first course in calculus that still goes under “analysis” (but is not a research topic)?
- Filters and/or nets (a coherent viewpoint on all the limits)
- (Multiple) derivatives as objects of (multi)linear algebra (no more horrific “Jacobians” and “Hessians”)
- Implicit / inverse function theorem (local normal form under smooth change of coordinates, cf Morse’s lemma as well)
- All of that in the infinite-dimensional setting (for a decent theory of ordinary differential equations)
- Exponential / trig functions as solutions of ODEs (all other definitions obtained from various solution approximations, requires previous point to be nice and unforced)
- Fourier-Laplace decomposition (take previous point up to eleven, solve all linear ODEs in existence at once, including every passive electric circuit)
- Distributions aka generalized functions (you can, technically, do the previous point without that, but it’s a complete mess; this instead requires a rather advanced theory of infinite-dimensional spaces)
- Differentiation and integration as continuous and smooth operators on infinite-dimensional spaces of functions, infinite-dimensional-vector-valued integrals (you can make do with the classical theory of “differentiating under the integral sign”, but it’s Lovecraftian levels of horrible, better not)
- Integration by residues (together with the previous point, makes the two most powerful methods for computing indefinite integrals when the definite one is intractable and/or inexpressible)
- Functions of a complex variable (required for the preceding to even make sense, unlike mere complex-valued functions is essentially a completely different theory closer to algebra if anything)
- Power series (don’t make sense without the preceding point even if you’re interested in the reals; why I called exponentials and trig the same thing above)
- Lebesgue integration (because Riemann integration sucks for all of the above even if you can make do)
- Stokes theorem (the theorem of multidimensional integration, like Barrow/Newton–Leibnitz is for the one-dimensional case; you did learn multilinear algebra didn’t you?)
- More?
I’m not saying Rudin covers all of that, but no one book does. I’ve also omitted (a lot of) hooks into what are usually considered other disciplines (manifolds, speed of convergence, solution in radicals, probability measures, ...).
> I'm not doubting it's great because I do hear it lauded, but it's hard to imagine.
Everyone has their own taste, even with math textbooks; there are plenty of acclaimed textbooks I hate (looking at you CRLS).
> I've been ever-so-slowly self teaching higher maths.
I happen to be in a Discord server for people self-studying math. It's a pretty cool place; if you are interested you can contact u/CheapViolin on Reddit.
- Harshorne - Algebraic Geometry
- Bott, Tu - Differential Forms in Algebraic Topology
- Milnor, Stasheff - Characteristic Classes
- Milnor - Morse Theory
- Serre - Linear Representations of Finite Groups
- Fulton - Intersection Theory
I’ll add Milnor’s Topology from the Differential Viewpoint and/or Differential Topology by Guillemin and Pollack.
Operating Systems in Three Easy Pieces.
Advanced Programming in the Unix Environment by W. Richard Stevens
[0]: https://www.amazon.com/Feedback-Control-Computer-Systems-Int...
[1]: https://www.amazon.com/Probabilistic-Robotics-INTELLIGENT-RO...
The Elements of Style, Strunk and White
The Hardest (working) Man in Showbiz, Ron Jeremy
Gravitation - Misner, Wheeler, Thorne
Already mentioned: (it's a goody)
Linear Representations of Finite Groups - Serre
- Tensors (as well as exterior and symmetric powers) have very little to do with differential geometry (and a fortiori physics) as such except for motivation—go study multilinear algebra first if the fanciful pictures of egg crates don’t help. Learn the coordinate-free definition of the determinant and rederive Cramer’s rule while you’re at it.
- Nobody can satisfactorily explain what the Riemann tensor is as a whole, though you can learn to work with it and understand some of the direct summands. (“A little monster of (multi)linear algebra”, as Gromov’s refreshingly frank book[1] puts it.) This is one of the rare cases where the worse meaning of von Neumann’s oft-abused quote is in force.
If you like the geometric viewpoint proselytized in the earlier parts of MTW before it gets to GR proper, try also Modern Classical Physics by Thorne and Blandford, which is that in doorstopper form (an early version[2] is available online though not advertised).
[1] https://www.ihes.fr/~gromov/expository/34/
[2] http://www.pmaweb.caltech.edu/Courses/ph136/yr2012/
Numerical Recipes By William H. Press et al
Quantum Theory of Materials By Kaxiras
I'm so sorry. You have my sympathy.
+1.
One of the best books explaining the abstractions and layering involved in Computer Systems. For some reason not many people know about this.
No longer doing consulting, but found it invaluable as a tech person building a consulting team and trying to break into enterprise. Probably useful for any professional consulting through a firm (lawyers, accountants, big 4, etc.)
Someone mentioned Designing Data Intensive Applications which I’m partial to as well.
I read this one during a period of 4 years when I saw myself neck deep into consulting services managing both development projects and implementations. The book was so much aligned to the reality of things in the field that I started to check mark paragraphs so I could be counting them later.
High Performance Browser Networking - edit: Ilya Grigorik
Effortless Mastery - Kenny werner
+1 for the recommendation. I always found it hard to learn about networking from the traditional textbooks and this answered a lot of the questions that I always wondered about.
Structure and Interpretation of Computer Programs aka. SICP.
Designing Data-Intensive Applications by Martin Klepmaan.
The C Programming Language by K&R.
Distributed Systems by Tannebaum.
https://web.mit.edu/6.001/6.037/sicp.pdf
Together they’re an amazing introduction to (or refresher for) Computer Science.
It is so foundational to what we do at rev.ng, that we gift a physical copy of the book to every interviewee, even if they don't pass.
However, I can tell you that this book is so much better than the Muchnick (Advanced Compiler Design and Implementation). The way data-flow analysis is explained in Muchnick sucks, while in POPA it's vertical but once you get over it, everything clicks and you are able to design new analyses in a sound way.
I actually took several courses from the authors some years back, and implemented most of the book for a not-so-simple imperative language, including e.g. abstract interpretation for detecting out-of-bounds array accesses.
The book is a bit advanced unless you are well seasoned in the basics of abstract algebra and interpreter / compiler construction. Most fellow students struggled a lot. Hence, the authors have written a prequel [1], which is a bit simpler and also uses Datalog to get going faster.
[1] https://arxiv.org/pdf/2012.10086.pdf
During my PhD I really felt stupid reading Muchnick and not getting data-flow analysis. Nielson & Nielson literally saved my PhD and enabled the creation of the company. I'm so grateful.
Do you have any contact? It'd be cool to invite one of the authors to our weekly internal meetings.
> the authors have written a prequel
Oh crap, that's great!
Honestly, we use Chapter 2 a lot, it already provides so much value. And in fact, you could write a whole book only about that.
Here's our C++ implementation of MFP:
Having infinite time, it'd be nice to rewrite some LLVM analyses using it.We joke saying that we'll open a new company when we start using Chapter 3 effectively. :)
Btw, if you're in a CEST-friendly time zone and are interested in what we do, drop us an e-mail :)
[1] https://buttondown.email/hillelwayne/archive/why-you-should-... [2] https://github.com/jhulick/bookstuff/blob/master/Data%20and%...
Was a great source of design patterns when I first began to design business applications on top of relational databases.
https://zjnu2017.github.io/OOAD/reading/Object.Oriented.Anal...
This book's niche is in building the intuitive understanding that is often lacking after the typically highly mathematical treatment seen in 200-level circuit theory courses. It's a great transition from "ok, I can manipulate the equations for a circuit with one or two transistors" to being able to design complete, practical electronic devices. The book is also heavily used as a cookbook and reference by practicing electronics engineers as it contains a lot of expert wisdom particularly in the area of high-precision analog circuits (the authors' background is in physics lab instrumentation design).
It's truly an eye opening book and really helps you see the systems in everything from a bakery to the hotel chains as soon as you've read it.