Luke Sheppard's blog about information security, web development, and hacking 

Home Blog Books About Software Development and Programming

Books About Software Development and Programming

Software developers have to read a lot of books. Here are several of the books that have helped me in my journey towards learning how to develop software. Rather than just enumerating the book titles, I’ve categorized them into the concepts or technical skills that each book helped me with. And, yes, I do realize that there are some real classics missing from this list.

Shell Scripting

LINUX & UNIX Shell Programming, by David Tansley

I read the first edition of Automating UNIX and Linux Administration, by Kirk Bauer, but the link here is to the 2nd edition.


The K & R C book, discussed later in this article, and in one of my previous posts.


All the O’Reilly books written by Randal L. Schwartz.


Python for Kids

Learning Python, by Mark Lutz is probably the most well written O’reilly book I’ve encountered.

Python Pocket Reference, by Mark Lutz

Mathematics and Logic

Aristotle’s Organon

Logic for Dummies, Mark Zegarelli

An Introduction to Mathematics, by Alfred North Whitehead

Here’s Looking at Euclid, by Alex Bellos

Discrete Mathematics and Its Applications, 7th Edition, by Kenneth Rosen

Developer Philosophy and Wisdom

Selected Papers on Computer Science, by Donald E. Knuth

The Art of UNIX Programming, by Eric S. Raymond

Coders At Work, by Peter Seibel,

Programmatic Thinking

The C Programming Language, by Brian Kernighan and Dennis Ritchie

The 1953 Univac Programming Manual. AFAIK, this document had no antecedent. They rewrote it in 1959 and hired an illustrator. The diagrams in the 1959 Univac Programming Manual really helped me later when rereading the K & R chapter about pointers in C.

Hardware and Data Processing

Again, the two Univac documents mentioned above,

Code: The Hidden Language of Computer Hardware and Software, by  Charles Petzold


 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn