News for hackers. Stuff that matters.
Re:Ask HN: What are the most fundamental books on computer s... by bo1024 on Monday October 21, 2019 @10:01AM (#21312313)
CS is like math, not philosophy -- the fundamental ideas are gradually refined by a community, and eventually someone puts them into a book. Usually there are many books and people have different favorites.

So the closest parallels are original research papers like Turing's and Shannon's; but you're probably better off reading more recent textbooks.

That said, to balance out the heavy emphasis on programming and engineering books here, some recommendations:

- Sipser. Introduction to the Theory of Computation.

- Russell, Norvig. AI: A Modern Approach.

- For algorithms I don't have a preference. There is Dasgupta-Papadimitriou-Vazirani; Cormen-Leisersen-Rivest-Stein; Kleinberg-Tardos; and more.

A bit farther from core CS, I also like:

- Cover, Thomas. Elements of Information Theory.

- Li, Vitanyi. An Introduction to Kolmogorov Complexity and Its Applications

Re:Ask HN: What are the most fundamental books on computer s... by einpoklum on Monday October 21, 2019 @10:10AM (#21312427)
Some of these are quite fundamental but not very popular. Which is good, because people forget those. I'm not much of a Sipser guy but maybe it's because they didn't use it at my alma mater when I took my Theory of Computation and Automata courses.
Re:Ask HN: What are the most fundamental books on computer s... by sixstringtheory on Monday October 21, 2019 @12:00PM (#21313777)
Sipser was the one my alma mater used, so if you could, please post the one you used! I’d be interested in an alternative.
Re:Ask HN: What are the most fundamental books on computer s... by einpoklum on Tuesday October 22, 2019 @07:56AM (#21322599)
It was a university-internal booklet written by Prof. Oded Goldreich when he had taught the course in the early 1990s. Don't think it was ever published as a proper book.

See: https://webcourse.cs.technion.ac.il/236343/Spring2004/book.h...

Re:Ask HN: What are the most fundamental books on computer s... by sixstringtheory on Tuesday October 22, 2019 @12:59PM (#21325968)
Ah I see. Well in any case, thanks for the link, it led to several books I'm interested to check out...

- Computers and Intractability: A Guide to the Theory of Np-Completeness

- Computational Complexity (your page has the one by Papadimitriou, but putting it on my Goodreads list led to two others of the same name by Goldreich and Arora/Barak I didn't know of)

Re:Ask HN: What are the most fundamental books on computer s... by einpoklum on Tuesday October 22, 2019 @07:11PM (#21329406)
Papadimitriou is older, but good, in that the Barak-Arora one is huge, I think.

Computers and Intractability is a class, it's from 1979. It's most famous for having "the list" of NP complete problems. Obviously not an exhaustive list, but it still merits the definite article :-)

Nowadays this is maintained on-line of course:

https://www.nada.kth.se/~viggo/problemlist/compendium.html

Re:Ask HN: What are the most fundamental books on computer s... by goric on Monday October 21, 2019 @01:07PM (#21314642)
Hopcroft, Motwani, and Ullman's Introduction to Automata Theory, Languages, and Computation by is another classic text
Re:Ask HN: What are the most fundamental books on computer s... by kingkongjaffa on Monday October 21, 2019 @11:17AM (#21313247)
Mathematics has a linear progression though.

You need to know numbers and simple algebra to tackle trig, you need to know all that to tackle calculus or linear algebra, you need to know those to tackle differential equations.

I would argue CS is closer to philosophy.

Sure you have programming building blocks like variables, loops, conditionals, objects blah blah.

But you quickly head into patterns and conventions that started out as someones opinion on how things should be set up, rather than some fundamental principle.

Re:Ask HN: What are the most fundamental books on computer s... by beagle3 on Monday October 21, 2019 @12:22PM (#21314091)
Mathematics has a (mostly linear) historical progression, not logical progression.

It very often happens that the shortest, simplest derivation is discovered a century after the original discovery.

E.g. if you define exp(x) as \sum_0^\inf \frac{x^n}{n!}, a crazy amount of things that (historically) took a lot of effort to derive, become exceptionally simple and straightforward.

Now, historically, it didn't make sense to define it that way (especially because limits and infinite sums were only rigourously defined much later). But complexity wise, it is much simpler to first define limits and only then the exponent as an infinite sum.

> But you quickly head into patterns and conventions that started out as someones opinion on how things should be set up, rather than some fundamental principle.

That's not computer science. That is indeed philosophy, specifically software engineering philosophu. Science, it is not.

Re:Ask HN: What are the most fundamental books on computer s... by graemeo on Monday October 21, 2019 @12:33PM (#21314228)
There was at least one famous mathematician that lamented this view and state of mathematics & mathematics education:

"The acceleration of the curriculum has had its cost: there has been an accompanying trend to prune away side topics. When I was in high school, for instance, it was standard to study solid geometry and spherical geometry along with plane geometry. These topics have long been abandoned. The shape of the mathematics education of a typical student is tall and spindly. It reaches a certain height above which its base can support no more growth, and there it halts or fails."

source: William Thurston - Mathematical Education https://arxiv.org/pdf/math/0503081.pdf

Re:Ask HN: What are the most fundamental books on computer s... by TheRealPomax on Monday October 21, 2019 @11:27AM (#21313361)
Not once you become an actual scholar of Mathematics. Then it's very much a tree of fields in terms of "what begot what", and at the level of theorems, not even a tree but a graph with a huge number of interconnections in which "one thing coming before the other" doesn't even make sense to talk about.
Re:Ask HN: What are the most fundamental books on computer s... by bo1024 on Monday October 21, 2019 @03:42PM (#21316402)
A cool thing about CS is how many different perspectives there are on it. I think you are coming more from the programming or software engineering perspective, which I agree is more art than science at this point in history. I'm thinking more on the theoretical side.
Re:Ask HN: What are the most fundamental books on computer s... by spott on Monday October 21, 2019 @11:23AM (#21313329)
>Mathematics has a linear progression though.

Mathematics has a linear progression... up until the point at which it branches out into the various subfields.