100 Essential Programming Books

1. The Pragmatic Programmer: From Journeyman to Master by Andrew Hunt

2. The C Programming Language by Brian W. Kernighan

3. Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma

4. Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin

5. Code Complete by Steve McConnell

6. Structure and Interpretation of Computer Programs by Harold Abelson

7. Introduction to Algorithms by Thomas H. Cormen

8. Refactoring: Improving the Design of Existing Code by Martin Fowler

9. The Mythical Man-Month: Essays on Software Engineering by Frederick P. Brooks Jr.

10. The Art of Computer Programming, Volumes 1–3 Boxed Set by Donald Ervin Knuth

11. The C++ Programming Language by Bjarne Stroustrup

12. Head First Design Patterns: A Brain-Friendly Guide by Eric Freeman

13. JavaScript: The Good Parts by Douglas Crockford

14. Working Effectively with Legacy Code by Michael C. Feathers

15. Compilers: Principles, Techniques, and Tools by Alfred V. Aho

16. The Clean Coder: A Code of Conduct for Professional Programmers by Robert C. Martin

17. The Little Schemer by Daniel P. Friedman

18. Test Driven Development: By Example by Kent Beck

19. Modern Operating Systems by Andrew S. Tanenbaum

20. The UNIX Programming Environment by Brian W. Kernighan

21. Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans

22. xUnit Test Patterns: Refactoring Test Code by Gerard Meszaros

23. Programming Ruby: The Pragmatic Programmers’ Guide by Dave Thomas

24. Effective C++: 55 Specific Ways to Improve Your Programs and Designs by Scott Meyers

25. Head First Java by Kathy Sierra

26. Growing Object-Oriented Software, Guided by Tests by Steve Freeman

27. Algorithms by Robert Sedgewick

28. Real World Haskell: Code You Can Believe In by Bryan O’Sullivan

29. Agile Software Development, Principles, Patterns, and Practices by Robert C. Martin

30. Artificial Intelligence: A Modern Approach by Peter Norvig

31. The Practice of Programming (Addison-Wesley Professional Computing Series) by Brian W. Kernighan

32. Patterns of Enterprise Application Architecture by Martin Fowler

33. The Algorithm Design Manual by Steve S. Skiena

34. Learning Perl by Randal L. Schwartz

35. Learning Python by Mark Lutz

36. How to Design Programs: An Introduction to Programming and Computing by Matthias Felleisen

37. Programming Perl (3rd Edition) by Tom Christiansen

38. UNIX Network Programming: Networking APIs: Sockets and XTI; Volume 1 by W. Richard Stevens

39. Learn You a Haskell for Great Good!: A Beginner’s Guide by Miran Lipovača

40. Advanced Programming in the UNIX Environment by Stephen A. Rago

41. Joel on Software by Joel Spolsky

42. The RSpec Book by David Chelimsky

43. Ship It! by Jared Richardson

44. The Rails Way by Obie Fernandez

45. Concrete Mathematics: A Foundation for Computer Science by Ronald L. Graham

46. ANSI Common Lisp by Paul Graham

47. The Elements of Style by William Strunk Jr.

48. Expert C Programming: Deep C Secrets by Peter van der Linden

49. Accelerated C++: Practical Programming by Example by Andrew Koenig

50. Refactoring to Patterns (Addison Wesley Signature Series) by Joshua Kerievsky

51. Object-Oriented Software Construction (Book/CD-ROM) by Bertrand Meyer

52. Agile Web Development with Rails: A Pragmatic Guide by Dave Thomas

53. Extreme Programming Explained: Embrace Change (The XP Series) by Kent Beck

54. 97 Things Every Programmer Should Know: Collective Wisdom from the Experts by Kevlin Henney

55. Introduction to the Theory of Computation by Michael Sipser

56. Assembly Language: Step-By-Step by Jeff Duntemann

57. Release It!: Design and Deploy Production-Ready Software by Michael T. Nygard

58. Essentials of Programming Languages by Daniel P. Friedman

59. The Agile Samurai by Jonathan Rasmusson

60. Lean from the Trenches by Henrik Kniberg

61. C++ Standard Library: A Tutorial and Reference by Nicolai M. Josuttis

62. Sams Teach Yourself MySQL in 24 Hours by Julie C. Meloni

63. PHP and MySQL Web Development by Luke Welling

64. The Art of Unit Testing: With Examples in .NET by Roy Osherove

65. C# in Depth by Jon Skeet

66. Specification by Example by Gojko Adzic

67. The Visual Display of Quantitative Information by Edward R. Tufte

68. Beginning Java 2 by Ivor Horton

69. Haskell: The Craft of Functional Programming by Simon Thompson

70. Learning Ruby by Michael J. Fitzgerald

71. Sams Teach Yourself JavaScript in 24 Hours by Michael Moncur

72. Peopleware: Productive Projects and Teams by Tom DeMarco

73. UNIX Network Programming, Volume 2: Interprocess Communications, Second Edition by W. Richard Stevens

74. Writing Solid Code by Steve Maguire

75. Hacker’s Delight by Henry S. Warren Jr.

76. The Goal: A Process of Ongoing Improvement by Eliyahu M. Goldratt

77. Slack: Getting Past Burnout, Busywork, and the Myth of Total Efficiency by Tom DeMarco

78. Implementing Lean Software Development: From Concept to Cash by Mary Poppendieck

79. Reviewing C++ by Alex Maureau

80. Sams Teach Yourself Perl in 24 Hours by Clinton Pierce

81. C: A Reference Manual by Samuel P. Harbison III

82. STL Tutorial and Reference Guide: C++ Programming with the Standard Template Library by David R. Musser

83. Simulation of Digital Communication Systems using Matlab by Mathuranathan Viswanathan

84. Your First App: Node.js by Jim Schubert

85. The Scrumban [R]Evolution: Getting the Most Out of Agile, Scrum, and Lean Kanban by Ajay Reddy

86. Fundamental Kotlin by Miloš Vasić

87. PROLOG: Programming for Artificial Intelligence by Ivan Bratko

88. Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation by Jez Humble

89. Object-Oriented Analysis and Design with Applications by Grady Booch

90. Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14 by Scott Meyers

91. Eloquent JavaScript: A Modern Introduction to Programming by Marijn Haverbeke

92. Bridging the Communication Gap: Specification by Example and Agile Acceptance Testing by Gojko Adzic

93. Manage Your Project Portfolio by Johanna Rothman

94. Fearless Change: Patterns for Introducing New Ideas by Mary Lynn Manns

95. Scrum and XP from the Trenches by Henrik Kniberg

96. Agile Retrospectives: Making Good Teams Great by Esther Derby

97. The Art of the Start: The Time-Tested, Battle-Hardened Guide for Anyone Starting Anything by Guy Kawasaki

98. Genetic Programming II: Automatic Discovery of Reusable Programs by John R. Koza

99. Thinking Forth by Leo Brodie

100. Software Craftsmanship: The New Imperative by Pete McBreen

Source: https://www.goodreads.com/list/show/542

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s