30 Most Influential Books on Programming

After various analyses of answers on the Stack Overflow website and also links associated with amazon, the results turned up with a total of 5720 books on programming.

Out of those, thirty were chosen as the most influential programming books, that we will highlight each of them in this article.

1. Design Patterns

This book was authored by Ralph Johnson, Erich Gamma, John Vlissides and Richard Helm. In their book. They sought to address the most frequent design problems and provided solutions accordingly.

Design Patterns Book
Design Patterns Book

The book begins with a description of design and patterns then the authors go ahead to state how they can help you design object-oriented software. They then systematically name, explain and evaluate catalog recurring designs in object-oriented systems.

With this book, you will gain knowledge on the importance of patterns and how they fit into software development process etc. Furthermore, all patterns are gathered from real systems and based on reality examples.

[mks_button size=”medium” title=”Buy from Amazon” style=”squared” url=”http://amzn.to/2lRvxVz” target=”_blank” bg_color=”#dd3333″ txt_color=”#FFFFFF” icon=”fa-book” icon_type=”fa” nofollow=”1″]

2. Working Effectively With Legacy Code

This is a book by Michael C. Feathers which offers methods of migrating a code towards tests. When the code undergoes this migration, they experience the benefit of unit tests which will in turn, make new tests easier to write therefore making aspects of a legacy code base easy to change.

Working Effectively With Legacy Code
Working Effectively With Legacy Code

It also has methods to conduct various careful attacks. There is no saying of how much this book is needed in the programming Industry.

[mks_button size=”medium” title=”Buy from Amazon” style=”squared” url=”http://amzn.to/2ljBYyP” target=”_blank” bg_color=”#dd3333″ txt_color=”#FFFFFF” icon=”fa-book” icon_type=”fa” nofollow=”1″]

3. Java Concurrency In Practice

This is a book by Brian Goetz and Tim Peierls that’s focused on concurrent applications used by Java. This book provides information on building these concurrent applications.

Java Concurrency In Practice
Java Concurrency In Practice

[mks_button size=”medium” title=”Buy from Amazon” style=”squared” url=”http://amzn.to/2moSLp5″ target=”_blank” bg_color=”#dd3333″ txt_color=”#FFFFFF” icon=”fa-book” icon_type=”fa” nofollow=”1″]

4. Clean Code

Robert C. Martin is the author of this book. In his book, he seeks to provide practical methods for writing better codes from start which will in turn produce more robust applications.

Clean Code by Robert Cecil Martin
Clean Code by Robert Cecil Martin

[mks_button size=”medium” title=”Buy from Amazon” style=”squared” url=”http://amzn.to/2moOGB9″ target=”_blank” bg_color=”#dd3333″ txt_color=”#FFFFFF” icon=”fa-book” icon_type=”fa” nofollow=”1″]

5. JavaScript: The Good Parts

Douglas Crockford in his book, provides descriptions of reliable features of Java script by covering topics like syntax, objects, functions, regular expressions, arrays, inheritance and methods.

JavaScript: The Good Parts
JavaScript: The Good Parts

[mks_button size=”medium” title=”Buy from Amazon” style=”squared” url=”http://amzn.to/2m7nre5″ target=”_blank” bg_color=”#dd3333″ txt_color=”#FFFFFF” icon=”fa-book” icon_type=”fa” nofollow=”1″]

6. Domain-driven Design

This is a book on ways to incorporate domain modeling into software development and it is authored by Eric Evans.

Domain-Driven Design
Domain-Driven Design

[mks_button size=”medium” title=”Buy from Amazon” style=”squared” url=”http://amzn.to/2m7nKFr” target=”_blank” bg_color=”#dd3333″ txt_color=”#FFFFFF” icon=”fa-book” icon_type=”fa” nofollow=”1″]

7. Code Complete

Steve McConnell is the author of this book. He goes on to explain the best practices in the art and science of constructing software by discussing topics like design, planning, managing construction activities, technique to construction, eliminating errors and also relating personal character to superior software.

Code Complete
Code Complete

[mks_button size=”medium” title=”Buy from Amazon” style=”squared” url=”http://amzn.to/2lRy6H2″ target=”_blank” bg_color=”#dd3333″ txt_color=”#FFFFFF” icon=”fa-book” icon_type=”fa” nofollow=”1″]

8. Patterns Of Enterprise Application Architecture

Martin Fowler authored this book in the form of a volume handbook for enterprise system developers. He guides them through the technicalities and lessons learned in enterprise application development.

Patterns Of Enterprise Application Architecture
Patterns Of Enterprise Application Architecture

Furthermore he also provides proven solutions to the usual problems encountered by information system developers.

[mks_button size=”medium” title=”Buy from Amazon” style=”squared” url=”http://amzn.to/2mGf4CE” target=”_blank” bg_color=”#dd3333″ txt_color=”#FFFFFF” icon=”fa-book” icon_type=”fa” nofollow=”1″]

9. Head First Design Patterns

In this book, Eric Freeman, Elisabeth Freeman, Kathy Sierra and Bert Bates provide design patterns with the aim of helping software development using the Java programming.

Head First Design Patterns
Head First Design Patterns

[mks_button size=”medium” title=”Buy from Amazon” style=”squared” url=”http://amzn.to/2mzGzyC” target=”_blank” bg_color=”#dd3333″ txt_color=”#FFFFFF” icon=”fa-book” icon_type=”fa” nofollow=”1″]

10. Refactoring

Martin Fowler and Kent Beck in this book explain to users how to improve the design, performance and manageability of object-oriented codes without changing its interface or behavior.

Refactoring: Improving the Design of Existing Code
Refactoring: Improving the Design of Existing Code

[mks_button size=”medium” title=”Buy from Amazon” style=”squared” url=”http://amzn.to/2lPhCAP” target=”_blank” bg_color=”#dd3333″ txt_color=”#FFFFFF” icon=”fa-book” icon_type=”fa” nofollow=”1″]

11. The C Programming Language

Brian W. Kennighan and Dennis M. Ritchie in their book introduce us to the features of C programming language. They go ahead to discuss data types, variables, operators, control flow, functions, pointers, arrays and structures. This book also covers the UNIX system interface.

The C Programming Language
The C Programming Language

[mks_button size=”medium” title=”Buy from Amazon” style=”squared” url=”http://amzn.to/2m7eMYW” target=”_blank” bg_color=”#dd3333″ txt_color=”#FFFFFF” icon=”fa-book” icon_type=”fa” nofollow=”1″]

12. Test-driven Development (TDD)

Kent Beck the author of this book shows us how to write clean code that works with the help of his groundbreaking software method. With the use of examples, he guides readers to using TDD to further their projects.

Test-driven Development
Test-driven Development

[mks_button size=”medium” title=”Buy from Amazon” style=”squared” url=”http://amzn.to/2l7AVXt” target=”_blank” bg_color=”#dd3333″ txt_color=”#FFFFFF” icon=”fa-book” icon_type=”fa” nofollow=”1″]

13. Effective C++

This is a book by Scott Meyers that discusses 55 specific ways to improve your programs and designs.

Effective C++
Effective C++

[mks_button size=”medium” title=”Buy from Amazon” style=”squared” url=”http://amzn.to/2moTG95″ target=”_blank” bg_color=”#dd3333″ txt_color=”#FFFFFF” icon=”fa-book” icon_type=”fa” nofollow=”1″]

14. Introduction to Algorithms, 3rd Edition

Thomas H. Cormen in his book breaks the norm of algorithm books by deviating from the massive materials that are usually in-comprehensive to readers.

Instead he discusses wide range of algorithms in detail whilst making their design and analysis accessible to all levels of readers. The algorithms are described in such a manner that is readable to anyone regardless of their experience in programming.

Introduction to Algorithms
Introduction to Algorithms

In short, he explains in basic language whilst still maintain depth and mathematical rigor.

[mks_button size=”medium” title=”Buy from Amazon” style=”squared” url=”http://amzn.to/2mG5lfB” target=”_blank” bg_color=”#dd3333″ txt_color=”#FFFFFF” icon=”fa-book” icon_type=”fa” nofollow=”1″]

15. CLR Via C

Jeffery Ritchter is the author of this book. In his book he seeks to provide a guide to developing applications using the common Language runtime (CLR) and Microsoft.NET Framework4.0 whilst also including Microsoft Visual C # 2010.

CLR via C# (4th Edition)
CLR via C# (4th Edition)

[mks_button size=”medium” title=”Buy from Amazon” style=”squared” url=”http://amzn.to/2m79dJS” target=”_blank” bg_color=”#dd3333″ txt_color=”#FFFFFF” icon=”fa-book” icon_type=”fa” nofollow=”1″]

16. Cocoa Programming For Mac OS X

This book was authored by Aaron Hillegass. It is basically a revision of renowned Introduction to Cocoa Programming UPDATED FOR Mac OS X Leopard.

Cocoa Programming for OS X
Cocoa Programming for OS X

[mks_button size=”medium” title=”Buy from Amazon” style=”squared” url=”http://amzn.to/2m7pSNE” target=”_blank” bg_color=”#dd3333″ txt_color=”#FFFFFF” icon=”fa-book” icon_type=”fa” nofollow=”1″]

17. Effective STL

This book was authored by Scott Meyers the author of Effective C++. This book is Effective C++ volume three. It has been highly recommended as a book all C++ programmers must have.

In this book Scott Meyers shows the critical rules of thumb employed by the experts for best results. The book also contains Meyers’ legendary examples that have helped its legion of readers since it was initially published.

Effective STL
Effective STL

What makes this book unique is that it is filled with proven know-hows that could only have come through experience.

[mks_button size=”medium” title=”Buy from Amazon” style=”squared” url=”http://amzn.to/2lRNqDt” target=”_blank” bg_color=”#dd3333″ txt_color=”#FFFFFF” icon=”fa-book” icon_type=”fa” nofollow=”1″]

18. Large-Scale C++ Software Design

John Lakos in this book seeks to unite high-level design concepts with specific C++ programming deals to reveal practical methods for planning and implementing high-quality C++ systems.

Large-Scale C++ Software Design
Large-Scale C++ Software Design

He explains the importance of physical design in large systems and also how to structure your software as acyclic hierarchy of components with many other techniques.

[mks_button size=”medium” title=”Buy from Amazon” style=”squared” url=”http://amzn.to/2lPbwjY” target=”_blank” bg_color=”#dd3333″ txt_color=”#FFFFFF” icon=”fa-book” icon_type=”fa” nofollow=”1″]

19. Modern C++ Design

Andrei Alexandrescu in his book describes the various C++ techniques used in generic programming. He also implements quite a number of industrial strength components. The book is a convergence of various programming techniques.

Modern C++ Design
Modern C++ Design

[mks_button size=”medium” title=”Buy from Amazon” style=”squared” url=”http://amzn.to/2m7hb60″ target=”_blank” bg_color=”#dd3333″ txt_color=”#FFFFFF” icon=”fa-book” icon_type=”fa” nofollow=”1″]

20. Inside The Microsoft Build Engine

This book was authored by Sayed Ibrahim Hashimi and William Bartholomew. It is basically a guide to the software build and deployment process using MSBuild.

Inside the Microsoft Build Engine
Inside the Microsoft Build Engine

[mks_button size=”medium” title=”Buy from Amazon” style=”squared” url=”http://amzn.to/2l7ACfi” target=”_blank” bg_color=”#dd3333″ txt_color=”#FFFFFF” icon=”fa-book” icon_type=”fa” nofollow=”1″]

21. Programming Microsoft ASP.NET 2.0 Core Reference

Dino Esposito in this book explains how to build your expertise as you graduate from the basics and move into core topics of programming. With this style to teaching, the book is useful to both experienced developers and inexperienced developers.

Programming Microsoft ASP.NET
Programming Microsoft ASP.NET

The book also contains expert guidance, programming instruction and practical examples that will broaden your horizon on developing applications for web.

[mks_button size=”medium” title=”Buy from Amazon” style=”squared” url=”http://amzn.to/2moJnSm” target=”_blank” bg_color=”#dd3333″ txt_color=”#FFFFFF” icon=”fa-book” icon_type=”fa” nofollow=”1″]

22. XUnit Test Patterns

Gerard Meszaros in this book writes on improving software return on investments. He educates readers on refactoring test code and reducing crippling test maintenance.

xUnit Test Patterns
xUnit Test Patterns

[mks_button size=”medium” title=”Buy from Amazon” style=”squared” url=”http://amzn.to/2mGunLO” target=”_blank” bg_color=”#dd3333″ txt_color=”#FFFFFF” icon=”fa-book” icon_type=”fa” nofollow=”1″]

23. Concurrent Programming on Windows

Joe Duffy in this book takes a look at practical methods including a tutorial of the entire set of windows and .NET APIs required to write a concurrent program.

Concurrent Programming on Windows
Concurrent Programming on Windows

[mks_button size=”medium” title=”Buy from Amazon” style=”squared” url=”http://amzn.to/2m2dNbW” target=”_blank” bg_color=”#dd3333″ txt_color=”#FFFFFF” icon=”fa-book” icon_type=”fa” nofollow=”1″]

24. Compliers

This book is popularly known as the “dragon book”. A book by Alfred V. Aho, it is now available in a new edition. This book has been modified to reflect developments in software engineering, programming languages, and computer architecture occurring since 1986.

Compilers: Principles, Techniques, and Tools
Compilers: Principles, Techniques, and Tools

It has also been modified to focus on broader set of problems faced in software design and software development.

[mks_button size=”medium” title=”Buy from Amazon” style=”squared” url=”http://amzn.to/2mzWfSD” target=”_blank” bg_color=”#dd3333″ txt_color=”#FFFFFF” icon=”fa-book” icon_type=”fa” nofollow=”1″]

25. C++ Coding Standards

This is a book by Herb Sutter and Andrei Alexandrescu that covers virtually every nook and cranny of C++ programming. The book will help readers write cleaner code with speed whilst avoiding any frustration that might have been initially involved.

C++ Coding Standards
C++ Coding Standards

[mks_button size=”medium” title=”Buy from Amazon” style=”squared” url=”http://amzn.to/2mGn0nj” target=”_blank” bg_color=”#dd3333″ txt_color=”#FFFFFF” icon=”fa-book” icon_type=”fa” nofollow=”1″]

26. UNIX Network Programming

This book was written by three authors namely : W.Richard Stevens, Bill Fenner and Andrew M. Rudoff. Both it’s previous and latest editions have had numerous sales.

UNIX Network Programming
UNIX Network Programming

It contains update coverage of Programming standards, debugging techniques and operating systems.

[mks_button size=”medium” title=”Buy from Amazon” style=”squared” url=”http://amzn.to/2lRJeDP” target=”_blank” bg_color=”#dd3333″ txt_color=”#FFFFFF” icon=”fa-book” icon_type=”fa” nofollow=”1″]

27. Purely Functional Data Structures

This is a book by Chris Osaki that contains descriptions of data sources and data structure design techniques for functional languages.

Purely Functional Data Structures
Purely Functional Data Structures

[mks_button size=”medium” title=”Buy from Amazon” style=”squared” url=”http://amzn.to/2ljzErt” target=”_blank” bg_color=”#dd3333″ txt_color=”#FFFFFF” icon=”fa-book” icon_type=”fa” nofollow=”1″]

28. The Art of Unit Testing

Written by Roy Osherove, it serves as a guide to the concept of unit testing. It progressively takes readers from one stage to the other. Among the topics it covers are: Patterns and organization, mock objects, legacy code and automated frameworks.

The Art of Unit Testing
The Art of Unit Testing

[mks_button size=”medium” title=”Buy from Amazon” style=”squared” url=”http://amzn.to/2lRKExY” target=”_blank” bg_color=”#dd3333″ txt_color=”#FFFFFF” icon=”fa-book” icon_type=”fa” nofollow=”1″]

29. Framework Design Guidelines

If you are a .Net developer, this book should be high on your list of books to read. It was written by Krzysztof Cwalina and Brad Abrams. In their book, they provide all the dos and don’ts involved in designing class libraries for .Net.

Framework Design Guidelines
Framework Design Guidelines

It is a book that has been highly recommended by computer science gurus such as: Jeffery Ritcher, Bill Wagner, George Bryrkit Peter Winkler, to name a few.

Both authors are Microsoft architects. This book provides fundamental guidelines on designing that are based insight developed through years of practical experience. It comes with a companion DVD, a sample API specification and other useful resources.

[mks_button size=”medium” title=”Buy from Amazon” style=”squared” url=”http://amzn.to/2ljGhdm” target=”_blank” bg_color=”#dd3333″ txt_color=”#FFFFFF” icon=”fa-book” icon_type=”fa” nofollow=”1″]

30. Mastering Regular Expressions

This is a book by Jeffery Friedl on Regular Expressions. Regular expressions are now customary features in a wide range of languages and popular tools, including Perl, Python, Ruby, Java, VB.NET and C# (and any language using the .NET Framework), PHP, and MySQL. They are exceptionally efficient for text and data manipulation.

Mastering Regular Expressions
Mastering Regular Expressions

Here are three things you need to know about regular expressions.

  • They can be used to code multifaceted and subtle text processing that you never imagined could be automated.
  • They can save you time and aggravation.
  • They can be used to craft elegant solutions to a wide range of problems.

Having a command of regular expressions is an instrumental skill which is exactly what this book will provide you. Notwithstanding their wide accessibility, and flexibility.

Regular expressions are often underutilized. This edition has also been restructured to manifest developments in other languages, as well as lengthened detailed analysis of Sun’s java.util.regex package, which has developed as the standard Java regex implementation.

Topics include:

  • A comparison of features among different versions of many languages and tools.
  • How the regular expression engine works Optimization.

This book provides solutions to complex practical problems. Critics have made reviews of this new edition and the second edition:

  • There isn’t a better (or more useful) book available on regular expressions.” –Zak Greant, Managing Director, eZ Systems.
  • A real tour-de-force of a book which not only covers the mechanics of regexes in extraordinary detail but also talks about efficiency and the use of regexes in Perl, Java, and .NET.

If you use regular expressions as part of your professional work (even if you already have a good book on whatever language you’re programming in) I would strongly recommend this book to you.” –Dr. Chris Brown, Linux Format.

[mks_button size=”medium” title=”Buy from Amazon” style=”squared” url=”http://amzn.to/2lu8tLz” target=”_blank” bg_color=”#dd3333″ txt_color=”#FFFFFF” icon=”fa-book” icon_type=”fa” nofollow=”1″]

Conclusion

So there you have it, the 30 most authoritative books on programming.

We hope you found this article useful. As confident as we are that this list is reliable, we welcome any queries you may have with its contents especially if you feel the list excludes a book that should definitely deserves a mention.

Also do let us know any other comments, questions or concerns you may have on the article. Have a nice day from Fossmint!

Modou Sarr is from the Gambia West Africa, he loves to read write and is an avid sportsman. He studied International Development studies and also Law and hopes to one day own a successful eCommerce business.

Each tutorial at GeeksMint is created by a team of experienced writers so that it meets our high-quality writing standards.

Got Something to Say? Join the Discussion...