Live data from Hacker News

A non-standard book list for software developers

mihaiolteanu.me

41–50 of 112 posts

Re: A non-standard book list for software developers

#41

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 sof…

I agree that for anyone wanting to improve "logical thinking" these books are a good start. In particular the last one is recommended, if you want to start having doubts about logic itself and the limits of logical reasoning ;)

Re: A non-standard book list for software developers

#42

Earlier quoted context omitted.

They don't recommending Euclid as a way to learn geometry, they recommend him because his book has been the foundation of the scientific dialog for the last several millennia. Regardless of whether his formalization of geometry is the most up-to-date, every subsequent mathematician and logician has been building on The Elements. That fact alone makes it valuable to read, not as a way to learn geometry, but as a way t…

Then you, as Moicanu below, didn't understood my point: You learn less from the Elements than from later, curated sources. Analogously, no one would advocate reading Newton's Principia to "understand where we came from". You would first learn the theory (geometry resp physics) with up-to-date sources, then read a commentary of the original (which is often longer than the original), and only then you'd be able to get…

I've read the 'original' Elements, indeed. Apart from the geometric figures which were not even available in the original form of the manuscript, but added later as an aid, there is no obscure notation whatsoever. Indeed, there is no notation at all. It's all prose.

Re: A non-standard book list for software developers

#43

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…

>Studying calculus in particular makes little sens for compsci.

yeah it makes little sense if you don't want to be able to write programs that solve the world's major problems

so if you are content with writing cat picture apps, skip calculus

Re: A non-standard book list for software developers

#44

Earlier quoted context omitted.

Then you, as Moicanu below, didn't understood my point: You learn less from the Elements than from later, curated sources. Analogously, no one would advocate reading Newton's Principia to "understand where we came from". You would first learn the theory (geometry resp physics) with up-to-date sources, then read a commentary of the original (which is often longer than the original), and only then you'd be able to get…

I've read the 'original' Elements, indeed. Apart from the geometric figures which were not even available in the original form of the manuscript, but added later as an aid, there is no obscure notation whatsoever. Indeed, there is no notation at all. It's all prose.

If you want to read it more as a historical piece of art I wouldn't object; if you want to actually get some mathematical insight out of it on the other hand, this would be a good starting point:

https://math.stackexchange.com/questions/845288/has-any-erro...

Re: A non-standard book list for software developers

#45

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…

They don't recommending Euclid as a way to learn geometry, they recommend him because his book has been the foundation of the scientific dialog for the last several millennia. Regardless of whether his formalization of geometry is the most up-to-date, every subsequent mathematician and logician has been building on The Elements. That fact alone makes it valuable to read, not as a way to learn geometry, but as a way t…

[deleted]

Re: A non-standard book list for software developers

#46

Earlier quoted context omitted.

They don't recommending Euclid as a way to learn geometry, they recommend him because his book has been the foundation of the scientific dialog for the last several millennia. Regardless of whether his formalization of geometry is the most up-to-date, every subsequent mathematician and logician has been building on The Elements. That fact alone makes it valuable to read, not as a way to learn geometry, but as a way t…

Then you, as Moicanu below, didn't understood my point: You learn less from the Elements than from later, curated sources. Analogously, no one would advocate reading Newton's Principia to "understand where we came from". You would first learn the theory (geometry resp physics) with up-to-date sources, then read a commentary of the original (which is often longer than the original), and only then you'd be able to get…

One of missing pieces in education is surfacing problems, deadends and struggles of different sorts. Shame because it’s such an insightful part, often allows grasping underlying reason for why things are the way they are.

Re: A non-standard book list for software developers

#47

Earlier quoted context omitted.

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…

Standards of rigor evolve with time and the level of rigor in the Elements is abysmal compared to today.

Re: A non-standard book list for software developers

#48

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…

They don't recommending Euclid as a way to learn geometry, they recommend him because his book has been the foundation of the scientific dialog for the last several millennia. Regardless of whether his formalization of geometry is the most up-to-date, every subsequent mathematician and logician has been building on The Elements. That fact alone makes it valuable to read, not as a way to learn geometry, but as a way t…

There's a little story told about the philosopher Thomas Hobbes, by John Aubrey:

"He was (vide his life) 40 yeares old before he looked on geometry; which happened accidentally. Being in a gentleman's library in ..., Euclid's Elements lay open, and 'twas the 47 El. libri I[Pythagorean theorem]. He read the proposition. 'By G--,' sayd he, 'this is impossible!' So he reads the demonstration of it, which referred him back to such a proposition; which proposition he read. That referred him back to another, which he also read. Et sic deinceps, that at last he was demonstratively convinced of that trueth. This made him in love with geometry."

Reading all of Euclid's Elements is a big undertaking, though I think you can get a sufficient taste and appreciation of iron-clad logical reasoning and demonstration from going through some subset of it. Perhaps working through a single proposition back through its base propositions, definitions, common notions, and postulates will be enough to alter your thinking and at least see what's possible. Unlike the author I can't tell from discussion sampling if people are ignorant of Euclid, but I have been frustrated by 1-on-1 failures to win arguments by mathematical proof (e.g. that 0.999.... = 1) and such an unwillingness to accept such things shows a profound disconnect in how we look at the world. Reading Euclid may help that.

On the other hand, lots of software developers are exposed to proofs as part of their formal education (those who received one), so how much Euclid can add here is questionable, vs. actually putting proofs into practice by learning things like TLA+, or learning about probabilistic inference which is more needed outside crisp and clear worlds like Euclidean geometry. Personally I'd sooner have software developers take a few minutes to learn and reflect on Chesterton's Fence, than working through examples of geometry proofs, and maybe some can learn to reduce their bad habit of sloppily "reconstructing things from first principles" (where "first" is frequently "first thought of").

Re: A non-standard book list for software developers

#49
post #43

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…

>Studying calculus in particular makes little sens for compsci. yeah it makes little sense if you don't want to be able to write programs that solve the world's major problems so if you are content with writing cat picture apps, skip calculus

We were just talking about this over lunch yesterday (software engineers at a medical device company). I won’t dismiss calculus, but it was generally agreed that linear algebra and statistics were most important, at least for what we’re doing.
Post reply on HN