Search for books, people and lists
Read This Twice
HomePeopleBooksSign In

Best Programming Books

Recommendations from 48 articles, Tim O’Reilly, Tim Ferriss, Kevin Rose and 46 others.
100 books on the list
Sort by
Number of Articles
Code Complete
A Practical Handbook of Software Construction, Second Edition
Steve McConnell - Jun 18, 2004 (first published in 1993)
Goodreads Rating
Widely considered one of the best practical guides to programming, Steve McConnell's original CODE COMPLETE has been helping developers write better software for more than a decade. Now this classic book has been fully updated and revised with leading-edge practices--and hundreds of new code samples--illustrating the art and science of software con...
Clean Code
A Handbook of Agile Software Craftsmanship
Robert C. Martin - Aug 10, 2008 (first published in 2007)
Goodreads Rating
Even bad code can function. But if code isn t clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn t have to be that way. Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile S...
Recommended by
Wes McKinney
The Pragmatic Programmer
From Journeyman to Master
Andrew Hunt - Oct 29, 1999
Goodreads Rating
-- Ward Cunningham Straight from the programming trenches, The Pragmatic Programmer cuts through the increasing specialization and technicalities of modern software development to examine the core process--taking a requirement and producing working, maintainable code that delights its users. It covers topics ranging from personal responsibility and...
Programming Pearls
Jon Bentley - Oct 06, 1999 (first published in 1986)
Goodreads Rating
The first edition of Programming Pearls was one of the most influential books I read early in my career, and many of the insights I first encountered in that book stayed with me long after I read it. Jon has done a wonderful job of updating the material. I am very impressed at how fresh the new examples seem. - Steve McConnell When programmers list...
Recommended by
Jeff Atwood
Introduction to Algorithms
Thomas H. Cormen - Jul 31, 2009
Goodreads Rating
The latest edition of the essential text and professional reference, with substantial new material on such topics as vEB trees, multithreaded algorithms, dynamic programming, and edge-based flow.Some books on algorithms are rigorous but incomplete; others cover masses of material but lack rigor. Introduction to Algorithms uniquely combines rigor an...
The Mythical Man-Month
Essays on Software Engineering, Anniversary Edition (2nd Edition)
Frederick P. Brooks Jr. - Aug 11, 1995 (first published in 1975)
Goodreads Rating
Few books on software project management have been as influential and timeless as The Mythical Man-Month. With a blend of software engineering facts and thought-provoking opinions, Fred Brooks offers insight for anyone managing complex projects. These essays draw from his experience as project manager for the IBM System/360 computer family and then...
The Hidden Language of Computer Hardware and Software
Charles Petzold - Oct 21, 2000 (first published in 1999)
Goodreads Rating
What do flashlights, the British invasion, black cats, and seesaws have to do with computers? In CODE, they show us the ingenious ways we manipulate language and invent new means of communicating with each other. And through CODE, we see how this ingenuity and our very human compulsion to communicate have driven the technological innovations of the...
Improving the Design of Existing Code (2nd Edition)
Martin Fowler - Nov 30, 2018 (first published in 1999)
Goodreads Rating
Fully Revised and Updated-Includes New Refactorings and Code Examples "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." --M. Fowler (1999) For more than twenty years, experienced programmers worldwide have relied on Martin Fowler's Refactoring to improve the design of existing code an...
Structure and Interpretation of Computer Programs
Harold Abelson - Aug 31, 1996 (first published in 1984)
Goodreads Rating
Structure and Interpretation of Computer Programs has had a dramatic impact on computer science curricula over the past decade. This long-awaited revision contains changes throughout the text. There are new implementations of most of the major programming systems in the book, including the interpreters and compilers, and the authors have incorporat...
Don't Make Me Think
A Common Sense Approach to Web Usability (3rd Edition)
Steve Krug - Jan 02, 2014 (first published in 2000)
Goodreads Rating
Since Dont Make Me Think was first published in 2000, over 400,000 Web designers and developers have relied on Steve Krugs guide to help them understand the principles of intuitive navigation and information design.In this 3rd edition, Steve returns with fresh perspective to reexamine the principles that made Dont Make Me Think a classic-with updat...
Design Patterns
Elements of Reusable Object-Oriented Software
Erich Gamma - Nov 09, 1994
Goodreads Rating
Capturing a wealth of experience about the design of object-oriented software, four top-notch designers present a catalog of simple and succinct solutions to commonly occurring design problems. Previously undocumented, these 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover th...
Domain-Driven Design by Eric Evans
Working Effectively with Legacy Code by Michael Feathers
Effective Java by Joshua Bloch
The Pragmatic Programmer by David Thomas
The Art of Computer Programming, Vol. 1 by Donald E. Knuth
Head First Design Patterns by Eric Freeman
Cracking the Coding Interview by Gayle Laakmann McDowell
Python Crash Course by Eric Matthes
The Clean Coder by Robert Martin
The Complete Software Developer's Career Guide by John Sonmez
Eloquent JavaScript by Marijn Haverbeke
The Self-Taught Programmer by Cory Althoff
Peopleware by Tom DeMarco
Rapid Development by Steve McConnell
Soft Skills by Z. Sonmez John Et Al
C Programming Language by Brian W. Kernighan
Patterns of Enterprise Application Architecture by Martin Fowler
JavaScript and JQuery by Jon Duckett
The Go Programming Language by Alan A. A. Donovan
Eloquent Ruby by Russ Olsen
Continuous Delivery by Jez Humble
Artificial Intelligence by Stuart Russell
Fluent Python by Luciano Ramalho
Types and Programming Languages by Benjamin C. Pierce
Swift Programming by Matthew Mathias
Artificial Intelligence for Games by Ian Millington
Operating System Concepts by peter Gagne Galvin Abraham Silberschatz
Compilers by Alfred V. Aho
The Art of R Programming by Norman Matloff
Head First Python by Paul Barry
The Design of Everyday Things by Don Norman
Deep Work by Cal Newport
HTML and CSS by Jon Duckett
Practical Object-Oriented Design in Ruby by Sandi Metz
Java Concurrency in Practice by Brian Goetz
The Little Schemer by Daniel P. Friedman
A Smarter Way to Learn JavaScript. The new tech-assisted approach that requires half the effort by Mark Myers
Head First Java by Kathy Sierra
Machine Learning with R by Brett Lantz
Effective Modern C++ by Scott Meyers
Algorithms by Robert Sedgewick
R for Data Science by Hadley Wickham
C# in Depth by Jon Skeet
Programming in Scala by Martin Odersky
Agile Software Development, Principles, Patterns, and Practices by Robert C. Martin
The Well-Grounded Rubyist by David A. Black
Game Engine Architecture by Jason Gregory
Python for Kids by Jason R. Briggs
Ruby on Rails Tutorial by Michael Hartl
C++ Primer by Stanley B. Lippman
C Programming by K. N. King
Python Cookbook by David Beazley
Programming by Bjarne Stroustrup
Real-Time Rendering by Tomas Akenine-Möller
Ruby Under a Microscope by Pat Shaughnessy
Design Patterns in Ruby by Russ Olsen
Head First C by David Griffiths
Scala for the Impatient by Cay Horstmann
Concurrency in Go by Katherine Cox-Buday
Modern PHP by Josh Lockhart
R Cookbook by Paul Teetor
Programming Game AI by Example by Mat Buckland
Python Programming by John Zelle
Extreme Programming Explained by Kent Beck
Absolute Beginner's Guide to C by Greg Perry
The Ruby Programming Language by David Flanagan
Refactoring to Patterns by Joshua Kerievsky
Learning R by Richard Cotton
The Essence of Software Engineering by Volker Gruhn
Beginning C++ Through Game Programming by Michael Dawson
Scala Cookbook by Alvin Alexander
Learn Python 3 the Hard Way by Zed Shaw
The Visual Display of Quantitative Information by Edward R. Tufte
On Writing Well by William Zinsser
The Cuckoo's Egg by Cliff Stoll
Envisioning Information by Edward R. Tufte
The Art of Game Design by Jesse Schell
The Elements of Typographic Style by Robert Bringhurst
The Linux Programming Interface by Michael Kerrisk
Paradigms of Artificial Intelligence Programming by Peter Norvig
Smalltalk Best Practice Patterns by Kent Beck
You Don't Know JS by Kyle Simpson
Visual Explanations by Edward R. Tufte
Learn You a Haskell for Great Good! by Miran Lipovaca
The Art of the Metaobject Protocol by Gregor Kiczales
The Linux Command Line by William E. Shotts Jr.
Game Programming Patterns by Robert Nystrom
Garner's Modern English Usage by Bryan Garner
Designing Data-Intensive Applications by Martin Kleppmann