Live data from Hacker News

A non-standard book list for software developers

mihaiolteanu.me

21–30 of 112 posts

Re: A non-standard book list for software developers

#22

I can't comment on the compsci books (they do seem interesting), but I can comment on the mathematical ones where I have expertise: - Using Euclid is manifestly a really bad idea, since his way of formalizing geometry is not the sharpest. Mathematical logic has developed since Euclid published his book thousands of years ago and Euclidean geometry has been re-formalized a number of times to really flesh out the theor…

You've missed the whole point.

Could you elaborate? "You've missed the whole point" is completely non-helpful.

Re: A non-standard book list for software developers

#23
In a similar topic of books about system design, someone on HN recommended A Pattern Language and The Timeless Way of Building by Christopher Alexander et. al.

They're not about designing distributed software systems... they're a complete design language for the proper design of a city, from the grossest elements to the most granular. You can flip to a random page and understand what makes a front yard really fulfill its purpose, or you can flip to a different page and learn why some public plazas just don't get used, while others flourish.

It's a template system for designing a room, a house, a neighborhood, a city, etc.

Makes you think about what a component is, what makes it "good" or "bad" at what it's supposed to do, and what makes it harmoniously integrate with other components.

Re: A non-standard book list for software developers

#24

Earlier quoted context omitted.

The Calculus pick is completely fungible. There are at least two other popular Calc books that different people would say the exact same things about. Euclid as the ideal place to learn logic seems debatable, although I can't think of a better resource off the top of my head. The Xinu OS and LISP recommendations I've never seen before, so those were potentially valuable for me at least.

What calc books are those? Reading a calculus book is a massive investment because I will be rereading pages. So I’d like to find the best one first

I self-taught from an early edition of Stewart and loved it.

Re: A non-standard book list for software developers

#25

Earlier quoted context omitted.

You've missed the whole point.

Could you elaborate? "You've missed the whole point" is completely non-helpful.

Quoting the article first paragraph I think is the best response

"I view the field of software development as a big logical system with highly interconnected and complex parts. Understanding such a big systems naturally requires having an excellent grasp on the tools used to build them. And the most fundamental one is logic itself. What follows from what, what are the starting-points or the elementary parts, what are the ways of composing these into more complex ones, ways to spot complete non-sense in the system and how to decompose the complex parts back to more fundamental ones to check their consistency and truth. The following book list contain titles that are all playing fields for one to start experimenting with such systems and gain the required confidence that one can master them. "

The recommendation are from that point of view and the authors selection from book he actually read and consider good for it.

Re: A non-standard book list for software developers

#27

I can't comment on the compsci books (they do seem interesting), but I can comment on the mathematical ones where I have expertise: - Using Euclid is manifestly a really bad idea, since his way of formalizing geometry is not the sharpest. Mathematical logic has developed since Euclid published his book thousands of years ago and Euclidean geometry has been re-formalized a number of times to really flesh out the theor…

Having an understanding of mathematical foundations and proofs can be very beneficial to software developers; but I agree there are much better books than the ones suggested here. "Elements" is an historically important book (arguably the most important in math), but like you said is fairly outdated. Real Analysis is critical for higher level maths and theoretical computer science and does have some value even in software development. But with books like Spivak's Calculus you spend more time memorizing definitions and theorems than abstract thinking or problem solving.

Some better math books that I would recommend off the top-of-my-head:

* "How to Solve it" by George Polya - A great book on breaking down complex problems.

* "Mathematical Logic" by Stephen Kleene - A much more contemporary math book on building axiomatic theories from scratch.

* "Godel, Escher, Bach" by Douglas Hofstadter - Also about mathematical foundations but for a much broader audience.

Re: A non-standard book list for software developers

#28
On the note of Euclid's Elements, I took a short course on Plato's "Theory of Forms" when I was just learning to really code and it's what helped OOP click in my head. It's fun when totally random subjects help you get an insight into one another.

https://en.wikipedia.org/wiki/Theory_of_forms

Re: A non-standard book list for software developers

#29

Good books but still quite standard. Spivak’s is standard on initial calculus courses at universities. If you really wanted non-standard but relevant authors I would add Feyerabend, Kuhn, Kahneman, Dostoyevsky, Borges, Taleb, Montaigne, Popper, Hofstadter, Don Norman, Alexandrescu. Add something about systems of representation by Kierkegaard or Nietzche or some interpretations by later authors.

Hoftstadter is fairly near standard isn't it? Assuming you mean actually reading GEB and not The Mind's I or I Am A Strange Loop . Not generally a course text but very common reading among CS/AI students. Some of whom even read all the way to the end instead of just pretending to! The book I would most recommend software developers read is Mindstorms: Children, Computers and Powerful Ideas by Seymour Papert. It's a l…

I found Hofstadter's _Le Ton beau de Marot_ fascinating, and also almost nobody has even heard of it!

Re: A non-standard book list for software developers

#30

Earlier quoted context omitted.

The Calculus pick is completely fungible. There are at least two other popular Calc books that different people would say the exact same things about. Euclid as the ideal place to learn logic seems debatable, although I can't think of a better resource off the top of my head. The Xinu OS and LISP recommendations I've never seen before, so those were potentially valuable for me at least.

What calc books are those? Reading a calculus book is a massive investment because I will be rereading pages. So I’d like to find the best one first

_Calculus Made Easy_ by Thompson (now in a new edition revised by Martin Gardner) was a former classic used by all sorts of people, and Feynman learned calculus from _Calculus for the Practical Man_, which was hardly sophisticated by modern standards. As long as you stick to a book some sizeable number of people think is okay, I don't think it matters that much what you learn from; the important thing is that you work through theorems carefully enough that you really understand them. Whether it's Spivak or Velleman or Thompson or OpenStax or Stewart (only for those who are assigned it, since otherwise there's no reason to spend >=$100 on it—it's not worth the premium) or Ross (his _Elementary Analysis_ book), worry about learning the concepts more than worrying about which book you chose. You can always refer to alternative books or youtube videos if a concept isn't clear in the primary book you chose.
Post reply on HN