Found in 3 comments on Hacker News
ctrlp · 2017-06-05 · Original thread
If you consider C to be language-agnostic, here are some gems. These are personal favorites as much for their excellent writing as for their content.

The Unix Programming Environment was published in 1984. I read it over 20 years later and was astonished at how well it had aged. For a technical book from the 80's, it is amazingly lucid and well-written. It pre-dates modern unix, so things have changed but much that goes unstated in newer books (for brevity) is explicit in UPE. (Plus, the history itself is illuminating.) It gave me a much deeper understanding of how programs actually run over computer hardware. Examples in C are old-school and take a bit of close reading but oh so rewarding. https://www.amazon.com/Unix-Programming-Environment-Prentice...

Mastering Algorithms in C. Another fantastically well-written book that shows (with practical examples) how to implement common algorithms. This is just such a great book! https://www.amazon.com/Mastering-Algorithms-Techniques-Sorti...

Also:

Code (Petzold). This one is truly language-agnostic. Others have mentioned it already. Can't recommend enough if you're iffy on the internals of computers and programming. https://www.amazon.com/Code-Language-Computer-Hardware-Softw...

Write Great Code (Volumes I and II). Randall Hyde's books are fantastic explications of the underlying computer operations. Examples are in assembly or pseudo-code but easy to understand. https://www.amazon.com/Write-Great-Code-Understanding-Machin...

wainstead · 2014-09-23 · Original thread
I researched this same question back in 2011. One of the most recommended books is "Memory as a Programming Concept in C and C++":

http://www.amazon.com/Memory-Programming-Concept-Frantisek-F...

A rather expensive book but stellar reviews. I borrowed it from the library. It's very concise too.

For C++ a lot of people still recommend "Accelerated C++":

http://www.amazon.com/Accelerated-C-Practical-Programming-Ex...

because it teaches you "canonical" C++ instead teaching you "C with classes," which seems to be a common complaint among veteran C++ programmers. It's very readable too.

I'm going to pick up "Writing Great Code":

http://www.amazon.com/Write-Great-Code-Understanding-Machine...

because it explains computer architecture. Once you start programming in C/C++ you are much closer to the metal and having an understanding of the architecture will lead to better choices.

tokenadult · 2013-01-12 · Original thread
The book Algorithmics: The Spirit of Computing doesn't read like a textbook to me, and it's quite interesting.

http://www.amazon.com/Algorithmics-Spirit-Computing-David-Ha...

The New Turing Omnibus

http://www.amazon.com/The-New-Turing-Omnibus-Excursions/dp/0...

is also good, as is Code by Charles Petzold.

http://www.amazon.com/Code-Language-Computer-Hardware-Softwa...

AFTER EDIT: While I thought about the first three books I mentioned, I thought of another, Write Great Code, Volume 1: Understanding the Machine by Randall Hyde.

http://www.amazon.com/Write-Great-Code-Understanding-ebook/d...

Fresh book recommendations delivered straight to your inbox every Thursday.