aspiring hacker’s reading list

Sometimes a random brief post has you spending some time marshaling your thoughts on a given subject.  Someone on slashdot asked about a reading list for an aspiring “coder” (whatever that is; hacker seems more suited).  I put out some thoughts, then I saw that slashdot munged the newlines, so I’m reproducing them here and adding a bit.

I have occasionally contributed to other reading lists – here is a non-software-engineering-related post on Quora.

 

Any comments or suggestions for more books for aspiring hackers?

nonfiction broad-interest

Steven Levy: Hackers

Tracy Kidder: The Soul of a New Machine

Douglas Hofstadter: Gödel, Escher, Bach

Cristopher Moore and Stephan Mertens: The Nature of Computation

fiction/fun

Neal Stephenson: Reamde (note the spelling)

Geoffrey James: The Tao of Programming

nonfiction textbookish but worth reading through

Marc Rochkind: Advanced UNIX Programming

W. Richard Stevens: Advanced Programming in the UNIX Environment

Michael Kerrisk: The Linux Programming Interface

Thompson and Ritchie: Bell Systems Technical Journal “The UNIX Time-Sharing System” and all the other reprints in which they discuss the evolution of UNIX

Kernighan and Ritchie: The C Programming Language

Kernighan and Pike: The Unix Programming Environment

Abelson, Sussman, Sussman: Structure and Interpretation of Computer Programs 

philosophical/free-software

(to keep your thinking straight about why to do these things)

Richard Stallman: The GNU Manifesto – http://www.gnu.org/gnu/manifesto.en.html

GNU Project, other essays: http://www.gnu.org/philosophy/philosophy.html

Advertisements

About markgalassi

Mark Galassi is a research scientist in Los Alamos National Laboratory, working on astrophysics and nuclear non-proliferation.
This entry was posted in books, programmingforresearch, unix. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s