views:

140

answers:

5

I'm a student pursuing my post graduate degree. I got some fund to buy books. I want to choose books wisely.

I'm interested in internals of things. I'm never satisfied with just knowing how to use something. I also want to know Why? How it works? etc..

I already have:

  1. Windows Internals
  2. Programing windows - 5th edition
  3. Database Systems: The Complete Book
  4. Linkers & Loaders

So far these are the books I thought about.

  1. Computer Systems: A Programmer's Perspective, Second Edition (CS:APP2e) Releasing in FEB2010
  2. Operating Systems - Stallings

Recently I stepped into network programming (also we are having Computer Networks Course in this semester) and I know Richard Steven's books on networking are must have. But I'm not sure about them because they are very old. The TCP/IP Illustrated Series is 15 years back. UNIX Network Programming vol-1 is 7 years old. I want to know if they are outdated/Do they have any plans to release any new edition of these books.

I hope you got my areas of interest. Please suggest any other books that I can buy.

PS: I strictly don't want to buy any language related books.

+1  A: 

Unix Network Programming , Volumes 1 & 2, will never be outdated. You should also try to gain some insights into Inter-Process Communications (IPC). The book you choose will depend a lot on the Operating system you are on. Most networking books, IMO are better followed on a Unix box, rather than a Windows one.

Also, look into Compilers and Interpreters.

Amit
+1  A: 

This question is really a duplicate. See:

Networking

Operating Systems

Compilers & Interpreters

And there are many more questions on books on all three topics.

anon
A: 
  1. Computer Organization - By Hamacher, Vranesic and Zaky. A really good book to understand processor architectures and their relevance to programming. Good to have if you are considering a career in embedded systems.

  2. Computer Graphics - By Hearn and Baker

  3. The Design of the Unix operating system - By Maurice J Bach - An extremely well written book. There is a lot to learn in terms of 'design philosphy' from Unix and this book is a great place to get started. It is a remarkably small sized book considering the depth and vastness of content.

Okay - This last book is not an 'internals' book but I still think you should have it. 'The Practice of Programming' By Kernighan and Pike. It contains a lot of 'distilled wisdom' in terms of good programming practices. You will kick yourself a lot less later on if you read through this small book first.

TCP and its basic design principles have NOT changed that dramatically in the last 15 years to render Stevens' book obsolete. It is a great place to start learning TCP/IP.

NP Compete
A: 

"Beautiful Code", a series of essays on what makes code good, by example.

Richard
A: 

I know that This perhaps isn't the most directive book for you to buy right now, but "The Pragmatic programmer" is an excellent reading.
As I found in Amazon, it sums my opinion: "(...) this book is never dry, often humorous, and always educational. They don't always say what you expect them to say (e.g., about commenting code), and I didn't always agree with them, but every sentence is full of thoughtful analysis. (...)".
Good luck.

NoProblemBabe