Check out More Recommended Software Books for reading
- Core Java Books
- Design Pattern Books
- Software Architecture Books
- Most Influential Software Books
- Agile Development Books
- Web Design Books
“Code Complete: A practical handbook of Software Construction” is written by Steve McConnell and the first edition provided classical programming information while the second edition provides chapters related to C++ and Java programming, which helps to improve the overall capabilities of a developer and resolve doubts. The book provides information on how to write high-quality code, use variables, and statements. Pragmatic Programmer The book “The Pragmatic Programmer” explains the mechanics of programming which helps you to write flexible and adaptable code. It provides guidelines to use tools and test codes effectively. Moreover, it provides many concepts to develop high-quality code and uses the pragmatic approach towards programming. Author Site: The Pragmatic Programmer
Professors Abelson and Sussman offer researched material for students to learn complex programming languages in the book “Structure and Interpretation of Computer Programs”. This provides answers to many difficult questions of programming. Additionally, the book provides simple solutions to complex programming. The book further explains the four trends of programming languages – imperative, object-oriented, logic-based and applicative programming.
The book by Kernighan and Ritchie provide classic programming structures for core C programmers, which includes- the use of data types, if/else, for, printf, while, functions, arrays, variables, etc. It even touches upon good programming methods and code reuse.
A series of mathematical operations and algorithm is provided by the book which is required for core programming. The lessons on introduction to algorithm provide programming courses designed specifically for college students learning programming courses. The book is written by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein.
The book was written by Martin Fowler, Kent Beck, John Brant, William Opdyke, and Don Roberts deal with refactoring, principles of refactoring, smell codes, building test scripts, composting methods, organizing data, designing methods, generalization and using tools. It is a good book on UML, COM related technology, and provides different approaches for software development. The book explains numerous refactoring methods to eliminate smell (code).
The book by Frederick P. Brooks provides information into the various developments in software tools and environment for the last 21 years. It also details the man-month system, second system effect, the conceptual integrity, pilot plant, documentation, communication, code freezing, system versioning, and tools.
The book is written by Donald Knuth and it provides chapters on a fundamental algorithm, sorting & searching, semi-numerical algorithm, syntactic algorithms, combinatorial algorithm, compilers and the theory of context-free languages. The book can be used as a reference by a programmer.
The book “Clean Code: A Handbook of Agile Software Craftsmanship” by Robert C. Martin tells about clean code practices and suggests the Boy Scout Rule write clean code. The code examples explained in the books are mostly in Java but the guidelines have also been explained in other languages. It is a great book for object orientated coding.
The book “Coders at Work: Reflections on the Craft of Programming” written by Peter Seibel is based on a conversation with computer scientists and great programmers. The whole concept is based on the series of 15 interviews which is written with an introduction in the format of transcripts. The Q & A part explains how programmers learn to program and practice it, and what their views of expert programmers regarding future programming are.
The book “Code: The Hidden Language of Computer Hardware and Software” by Charles Petzold deals with a number of programming concepts starting from number systems – decimal, octal, binary to high-level languages. The book explains packet-based communication protocols and TCP. Many chapters are about hardware concepts and five chapters are devoted to software and explain about the operating system, floating point arithmetic, and GUIs.
(By: Steve McConnell )This book talks about a rapid software development strategy that can be applied to build high-quality software in a short time. It has listed many best practices that can be effectively applied to your projects. This book also points out some of the classic mistakes that experienced software developers make and discusses how those can be avoided.
It is very important for a programmer to write clean and reusable code that can easily handle complex programming and system requirements. Thus these eleven books provide you in-depth information which can be used to improve coding practices.
Hope you found this list useful, What are the most influential books you have read? Please don’t forget to share with me in comments.
Article Updates
- Updated Feb 2023: Reviewed for relevance in this year. Checked links.
- Updated on May 2019: Minor changes and updates to the introduction section. Images are updated to HTTPS.
i read The "Let us C" by Yasvant Kanetkar which is a wonderful book for the beginner programmers..I also read a book written by Ritchie on C.That was only for the professionals who have knowledge of programming..
@Organza – Thanks for your comment. Yes, I have also started my C learning with Yashwant Kanetkar book "Let Us C". It surely was a good starting book for C language. On the other side the KNR book was a eye opener for me since I never knew that so many things can be achieved using power of same language. Specially the concept of function pointers which is always difficult to grasp. I would recommend this book to be ready by every programmer since it tells you what is the real power of "C" language.
As always the learning never stops. As we read more and learn more programming we discover more concepts and practices.
Nice selection of books; there certainly are some very much worth reading. However, if this is a "most influential books" list, shouldn't there at least be a honorary mention of "Design Patterns" by the Gang of Four?
Just finished "Code". Awesome foundation. Now onto a thousand others including some on this list.
Thanks for the list, by the way.
Great list, but I miss "Design Patterns" from Gamma et al on it
While TAOCP is considered a fundamental work in Computer Science, I don't think it falls into the "Must read" category. Honestly, if you got a room of 100 successful programmers together, I'd be surprised if more than 10% had actually READ TAOCP. There is a reason that the fokelore story about Jobs meeting Knuth exists (although Knuth disputes it's accuracy)
"It's a pleasure to meet you, Professor Knuth," Steve said. "I've read all of your books."
"You're full of shit," Knuth responded.
I have another post where I have tried listing the Best Design Pattern Books – Gang of Four is part of it so thought of not repeating in this list. I guess, I must add Gang Of Four book to this list and make it a list of 12 books.
@LDM – I guess you are right about many programmer may NOT have read TAOCP book. In fact it is impossible for any one person to keep up with all the research in computer science.
i have gone through couple of books..quite interesting i say!!
This comment has been removed by the author.
One more to add it here, "How to solve it by Computer" by Dromey