Frequently Recommended Programming Books
Coding Styles, Algorithms, Security, Rapid Development, etc
Frequently Recommended Programming Books
This page lists a few books frequently recommended by others. Included here are books on algorithms and coding style. If you are looking for good books on a particular programming language, please check the index of programming books for the appropriate language page.
Note that these books are (obviously) not free. You may obtain them from any local bookstore or order them from an online store like Amazon.com. The links below point to the same item in the Amazon website, where there are typically some reviews from other readers too.
Frequently Recommended Books on Programming
- Code Complete
This book, by Steve McConnell, is definitely one of the best books on writing elegant, self-documenting and maintainable software. It is extremely practical, and the recommendations given come from careful research. It is also very readable, and sometimes humourous. In the opinion of many programmers (including me), this book is a must-have.
- Writing Secure Code, Second Edition
This book, by Michael Howard and David LeBlanc, deals with the principles behind writing secure code on Windows systems as well as provide specific help in designing and testing secure applications. Among the topics covered are buffer overruns, access control (ACLs), cryptography, protecting secret data, database input, socket security, securing RPC, ActiveX Controls and DCOM, writing secure .NET code, security testing, building privacy into your application, dangerous APIs (Windows APIs as well as standard functions in a C library), etc. I consider this book an essential read for Windows programmers.
- Rapid Development
Rapid Development, by Steve McConnell is a book for project managers (and possibly others in the software development process). It gives strategies and tips to help you manage your project schedule effectively, and avoid the problems that usually crop up in rapid development projects.
- The Art of Computer Programming
If you want THE book on algorithms and data structures, then you should go for Donald E Knuth's four volume work on algorithms. Volume 1 deals with fundamental algorithms (eg, techniques for manipulating stacks, queues, lists, arrays, trees, etc; garbage collection, Huffman encoding, dynamic allocation algorithms, etc), Volume 2 with seminumerical algorithms (random number generators, floating point, optimized arithmetic algorithms, etc), Volume 3 provides the reader the necessary information to select the best sorting and searching algorithm for your particular task, given your data structures, storage systems and output requirements, and Volume 4A with combinatorial algorithms. Note, though, that the books are pretty heavy reading, and a number of people find them difficult to plough through. If you are one of those, you might want to check out the other algorithms books listed on this page.
- Algorithms in C++ : Fundamentals, Data Structures, Sorting, Searching
This is the C++ version of Robert Sedgewick's book on algorithms and data structures. The third edition adds new algorithms as well as expands on the explanations given for existing algorithms.
- Algorithms in C: Fundamentals, Data Structures, Sorting, Searching
If you are looking for a book on algorithms, you might want to take a look at this book by Robert Sedgewick. This book, now in its third edition, covers over 100 algorithms for sorting, selection, queues, searching, etc.
- The Practice of Programming
Written by Brian W Kernighan and Rob Pike, this book deals with algorithms, common coding pitfalls, data structures, debugging and testing, and portability. The authors are well known for writing code that is elegant, simple, clear and yet effective and efficient. Kernighan is one of the pioneers of the C programming language. Note that the book is fairly simple, and if you have some programming experience in your pocket you might find this book too shallow in its treatment of the subject. In that case, you might want to try Steve McConnel's Code Complete instead (reviewed above).
How to Link to This Page
It will appear on your page as: