Description: An introduction to programming using Linux assembly language.
The difference between mediocre and star programmers is that star programmers understand assembly language, whether or not they use it on a daily basis. Programming from the Ground Up gives programmers the edge they need to be successful.
Assembly language is the language of the computer itself. To be a programmer without ever learning assembly language is like being a professional race car driver without understanding how your carburetor works. To be a truly successful programmer, you have to understand exactly what the computer sees when it is running a program. Nothing short of learning assembly language will do that for you. Assembly language is often seen as a black art among today's programmers - with those knowing this art being more productive, more knowledgeable, and better paid, even if they primarily work in other languages.
Programming from the Ground Up uses Linux assembly language to take 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
Programming from the Ground Up includes access to online updates and a mailing list for readers of the book to discuss it with each other and the author.
"Trying to be a programmer without understanding how a CPU works is like trying to practice medicine without learning anatomy. Sure, you can have limited success curing patients with medical advice gleaned from Google, but on the whole you're going to be a pretty bad doctor. For those who missed out on learning assembly language, I highly recommend working through this book, even if you'll never program in assembly again. I promise that all kinds of lights will go on in your head and you'll be a vastly better programmer."
Programming from the Ground Up is being used by Princeton University in their COS 217 course, "Introduction to Programming Systems".
Also available at
Programming from the Ground Up is distributed according to the terms of the GFDL. For more information, see here.