The Best Books Every Programmer Should Read
-
The Pragmatic Programmer: From Journeyman to Master
by Andrew Hunt, David Thomas
The Pragmatic Programmer: From Journeyman to Master (ISBN 0-201-61622-X) is a book about software engineering by Andrew Hunt and David Thomas, published in October, 1999.
-
Code Complete
by Steve McConnell
Code Complete (ISBN 1-55615-484-4) is a 1993 software development book by Steve McConnell urging developers to get past code and fix programming and the "big design up front" waterfall model. It is also a compendium of useful software construction techniques, from naming variables to deciding when to write a subroutine.
-
Refactoring: Improving the Design of Existing Code
by Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts
As the application of object technology-particularly the Java programming language-has become commonplace, a new problem has emerged to confront the software development community. Significant numbers of poorly designed programs have been created by less-experienced developers, resulting in applications that are inefficient and hard to maintain ...
-
Structure and Interpretation of Computer Programs
by Harold Abelson, Gerald Jay Sussman
Structure and Interpretation of Computer Programs (SICP) is a textbook published in 1985 about general computer programming concepts from MIT Press written by Massachusetts Institute of Technology professors Harold Abelson and Gerald Jay Sussman, with Julie Sussman. It has been used as the textbook for an introductory course in computer programm...
-
Introduction to Algorithms
by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein
Introduction to Algorithms is a book by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. It is used as the textbook for algorithms courses at many universities.
Professor Cormen teaches at Dartmouth College, Professors Rivest and Leiserson teach at MIT, and Professor Stein teaches at Columbia. The first edition of t... -
The Mythical Man-Month: Essays on Software Engineering, 20th Anniversary Edition
by Frederick P. Brooks
The Mythical Man-Month: Essays on Software Engineering is a book on software project management by Fred Brooks, whose central theme is that "Adding manpower to a late software project makes it later." This idea is known as Brooks' law, and is presented along with the second-system effect and advocacy of prototyping. The work was first published ...
-
Design Patterns: Elements of Reusable Object-Oriented Software
by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
Often referred to as the GoF, or Gang-Of-Four (because of the four authors who wrote it), Design Patterns: Elements of Reusable Object-Oriented Software (ISBN 0-201-63361-2) is a software engineering book describing recurring solutions to common problems in software design. The book's authors are Erich Gamma, Richard Helm, Ralph Johnson and John...
-
Peopleware : Productive Projects and Teams
by Tom Demarco, Timothy Lister
Peopleware - Productive Projects and Teams (ISBN 0-932633-43-9) is a popular 1987 book, written by software consultants Tom DeMarco and Timothy Lister, on the inside world of software developing teams, in a manner such as to highlight the real-world conflicting natures between individual work perspective and corporate ideology. Peopleware may be...
-
The Practice of Programming
by Brian W. Kernighan, Rob Pike
The Practice of Programming (ISBN 0-201-61586-X) by Brian W. Kernighan and Rob Pike is a 1999 book about computer programming and software engineering, published by Addison-Wesley.
According to the preface, the book is about "topics like testing, debugging, portability, performance, design alternatives, and style," which, according to the aut...











