Hacker News new | ask | show | jobs
by CaptainMorgan 6085 days ago
I'd like to second the K&R book.

In addition, I've found if you're taking an engineering approach, "Applications Programming in ANSI C" by Johnsonbaugh & Kalin was to me a very valuable learning tool.

Do not go without the "C: A Reference Manual" by Harbison & Steele, which to me has been the most valuable reference book to have on my person if I couldn't get or chose not to fancy a good Internet reference.

For Assembly, my coverage has been limited to MIPS, which was in comparison to Intel's version, a lot easier to understand and thus learn from. Check out "Computer Architecture and Design" by Patterson & Hennesy. While of course mostly a book on architecture, it's rooted in learning MIPS to understand architecture and comes with the SPIM simulator software(which I assume could be had online). I also own the book by Bryant & O'Hallaron, "Computer Systems: A Programmer's Perspective" and personally I found that learning MIPS first brought home Intel's ASM a little softer.

1 comments

Lovely note, a question, however -- I er, got "C: A Reference Manual" for my birthday, (which got me into this whole business), but it looks very advanced, shall I read it as my first book anyway? and ask questions where I falter? Or, should I go for something more basic?

Thanks again!

My advice is absolutely not. References are just that - to be looked up for something you've lost or just don't have the capacity for in your own memory; they're not made to be read back to back, or at least I could not do that. Question to ask might be, would you read the English dictionary back to back? Kudos to those that can or would. :)

You talked about learning C and ASM, and K&R and the other books (excluding C:ARM and CS:APP) are fine learning tools. So to answer your question, do not read it first, but have it by your side when something isn't clear... think of it like a dictionary to look up functions that were not well addressed (or even talked about at all) in the learning books.

Oh, okay -- Well, I'll make sure I have it handy :)