by Jonathan Bartlett
Programming from the Ground Up uses Linux assembly language to teach new programmers the most important concepts in programming. It takes you a step at a time through these concepts:
- How the processor views memory
- How the processor operates
- How programs interact with the operating system
- How computers represent data internally
- How to do low-level and high-level optimization
Most beginning-level programming books attempt to shield the reader from how their computer really works. Programming from the Ground Up starts by teaching how the computer works under the hood, so that the programmer will have a sufficient background to be successful in all areas of programming.
This book has been used by universities as diverse as Princeton and DeVry, and was endorsed by Joel Spolsky, cofounder of StackExchange.
I highly recommend working through this book even if you’ll never program assembly again… you’ll be a vastly better programmer. — Joel Spolsky, JoelOnSoftware.com