12 Most Influential Books Every Programmer / Developer Must Read
- Code Complete “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. It helps to improve software craftsmanship of a programmer as well. Author Site: Code Complete
- 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
- Structure and Interpretation of Computer Programs 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.
- C Programming Language (2nd Edition) 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.
- Introduction to Algorithms 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.
- Refactoring: Improving the Design of Existing Code The book written by Martin Fowler, Kent Beck, John Brant, William Opdyke and Don Roberts deals with refactoring, principles of refactoring, smell codes, building test scripts, composing 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 Mythical Man-Month 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 man-month system, second system effect, the conceptual integrity, pilot plant, documentation, communication, code freezing, system versioning and tools.
- The Art of Computer Programming The book is written by Donald Knuth and it provides chapters on 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.
- Clean Code: A Handbook of Agile Software Craftsmanship 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 to 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.
- Coders at Work: Reflections on the Craft of Programming The book “Coders at Work: Reflections on the Craft of Programming” written by Peter Seibel is based on 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 programming and practice it, and what their views of expert programmers regarding future programming are.
- CODE: The Hidden Language of Computer Hardware and Software 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 for software and explain about the operating system, floating point arithmetic and GUIs.
- Rapid Development (Developer Best Practices)
(By: Steve McConnell )
This book talks about a rapid software development strategy that can be applied to build high quality software in short time. It has listed many best practices that can be effectively applied on your projects. This book also points out some if the classic mistakes that experienced software developers make and discusses how those can be avoided.