Oooh, look! It's 07-08-09!
Okay, it's 2007-08-09, and yes, not many people write the two-digit year first.
That's why this is a stupid date trick.
Programming Small Devices
This book's aim is to help students who have been spoiled by gigabytes of RAM and gigahertz processors deal with the harsher, leaner world of small devices. Like Müldner's C for Java Programmers, it assumes readers already know how to program, and focuses on dispelling their misconceptions and curing their sloppy habits. What do you do when you don't have garbage collection? What do you do when you don't even have floating point, or when you have to worry about watts as well as bytes? Ranging over architecture, basic data structures, and neat programming tricks, this is an excellent introduction to programming in a world where nothing is free.
I could probably use a book like this, as long as it also covered compiling and linking issues one finds in embedded systems programming.
But alas, that book does not exist. Along with seventeen other interesting books that don't exist, but should (too bad too—Error Handling is something that needs to be taught, and isn't—I actually had a university teacher tell me, “If you don't know how to handle the error, don't check for it,” and that's pretty much the only thing I was “taught” about error handling in college).