Check out More Recommended Software Books for reading
“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.
- 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.