Good programming books are some of the highest information density of any writing you can find. College professors tend to prefer the lower density versions which might be biasing people.
The recommendations I got from lecturers at university were thick academic textbooks. The 'good programming books' popular on HN etc. - without taking anything away from them - tend to be more waffley blog-turned-book type things.
Aside from classics from the former category that are also popular in the latter. Sipser, the dragon book, Spivak, etc.
This comes to personal preferences, I generally prefer reference books vs educational books. Find a good fit between what you’re working on and what the book is trying to do and they can be extremely helpful
Best example that comes to mind is the first edition of SQl in a nutshell. It was thin reference that covered SQL and the major differences between different SQL databases that I picked up back in 2002 ish. Quite useful if your working with several at the same time, but not something to teach you SQL. I haven’t looked at a recent edition because I am not in that situation any more, but I presume it’s still useful for that purpose.
Granted most books are significantly more verbose, but the physical limitations of books can promote extremely precise writing with minimal extraneous information.
It's my experience that this is often the case. I don't like high-theory books, so that means that things like the dragon book aren't likely to be in my sample.