Found in 3 comments on Hacker News
e19293001 · 2017-01-18 · Original thread
I would like to recommend this book[0]. By reading this book, you will be able to grok C. You'll learn how your C programs interact with the hardware. Learn about the stack and how it is used in calling functions. Learn about pointers and how it is represented in assembly language. Learn how arrays in C and how it is accessed in memory. And many more! I keep recommending this book because this had enlightened me in understanding how computers work and I wouldn't get tired of recommending this. If you read just half of the book, you'll gain confidence especially during coding interviews. This was my experience though. Believe me.

[0] -

e19293001 · 2016-09-20 · Original thread
This book[0] enlightened me in a lot of ways. Check out the book review, I would testify that almost of what the reviewers said are true.

By reading this book, I've developed my skills in programming with C/C++, assembly language and also learning computer architecture all at the same time. This book contains lots of low level stuffs like designing a cpu core, translate a C++ program to assembly, write an assembler, and many more. The explanation starts with a very simple concepts like translating y = x + 1; to assembly language equivalent until translating an object oriented code to its equivalent assembly language code. It has been a lot of fun learning the relationship of cpu, operating system and the compiler. The exercises are easy enough and had really sharpen my skills. Although the target machine is theoretical, I was able to switch easily into the real machine.

[0] -

e19293001 · 2016-07-15 · Original thread
From my favorite author Anthony J. Dos Reis[0]

If you want to learn assembly language, computer architecture and C++ all at the same time: Assembly Language and Computer Architecture Using C++ and Java , Course Technology, 2004 [1]

If you want to learn how to write compilers, context free grammars, regular expressions and implement grep: Compiler Construction Using Java, JavaCC, and Yacc, IEEE/Wiley, 2012 [2]

If you want to learn functional programming, lambda calculus and LISP: An Introduction to Functional Programming Through Lambda Calculus by Greg Michaelson [3]

My programming skills had grown dramatically with this books. I would wholeheartedly recommend the books mentioned above for those who are interested to learn.

[0] -

[1] -

[2] -

[3] - -

Fresh book recommendations delivered straight to your inbox every Thursday.