Good Books (Tech-related)

Ok, because Chit-Chat is for things unrelated to robotics, I’ll put this here…

I’d like this thread to be a place for people to recommend tech-related books.
I’ll start:

CODE: The Hidden Language of Computer Hardware and Software by Charles Petzold.

CODE is about how computers and computer programs work. Mr. Petzold starts by describing codes and how humans have used codes, for example, Morse code, to communicate. He proceeds to show how telegraph relays can be used to make logic gates, and how those logic gates can be combined to make an automated adding machine. Eventually, though many small steps, Mr. Petzold constructs a fully functioning computer in the reader’s mind, and touches on graphical user interfaces. To make this computer useful, he also describes how to program it - first with binary commands, then with assembly, and finally with higher-level programming languages.

I enjoyed reading this book because it provides a “big-picture” view of how computers work. Today’s computers are highly complex, and sometimes seem impossible to fully understand. However, in my opinion, the overview CODE provides is neither too detailed, nor too vague. While reading this book, I learned the “why” behind many things that I take for granted in programming (i.e. data types). Most technical people know that the higher your processor speed, the faster your computer operates. After reading CODE, I now know why the processor speed matters.
Another reason I enjoyed this book is that it is easy to read. Because Mr. Petzold starts from the very beginning, then builds on what he has discussed, even someone with no prior knowledge of programming or computer history/construction could read and understand this book. (However, some knowledge about the topic is always helpful… :rolleyes:)

Although this book won’t teach you the specifics of how to program C++, or exactly how to connect different chips together, it provides an overview of how computers work - from the ground up.

Okay okay, I can basically only recommend software related books but good reads nonetheless:

[LIST]
*]Hackers: Heroes of the revolution *
*]Masterminds of Programming
*]The Pragmatic Programmer
*]Code Complete
*]Pragmatic Thinking and Learning *
*]Beautiful Code
[/LIST]

Ones with an asterisk indicate books that not only programmers would be interested in.

Modern Textbooks in Robotics - Programming
1. Algorithms - CLRS
2. Artificial Intelligence - Norvig & Russell
3. Probabilistic Robotics - Thrun, Burgard, Fox

Here is a complete list of the Top 100 books that shaped Science,
http://www.americanscientist.org/bookshelf/pub/100-or-so-books-that-shaped-a-century-of-science

Of this list, here are the ones I suggest

  1. Richard Feynman, Surely You’re Joking, Mr. Feynman! (1985)
  2. Carl Sagan, The Pale Blue Dot (1994)
  3. Donald Knuth, The Art of Computer Programming (1968) (wish i could finish this book)
  4. Marvin Minsky, The Society of Mind (1986)

Some of these books are bit dated so read with proper history glasses.

Non-fiction
The Soul of a New Machine, by Tracy Kidder
The Mythical Man-Month: Essays on Software Engineering, by Fred Brooks
The Cuckoo’s Egg, by Cliff Stoll

Fiction
A Fire Upon the Deep, by Vernor Vinge
Snow Crash, by Neal Stephenson
The Moon is a Harsh Mistress, by Robert Heinlein