Best Programming Books
Category100 of 413 books38 recommendations totalProgramming books recommended most by senior engineers, CTOs and software architects — algorithms, data structures and system design. Plus the clean-code classics developers actually keep on the desk.
Where to start: Programming Books recommended most often
Recommended books, ranked by how many of the 25 people behind this list recommended each one.
- 1Hackers9 recommendations · recommended by Austen Allred, Zooko Wilcox and Donald Knuth
- 2Dealers of Lightning5 recommendations · recommended by Austen Allred, Patrick Collison and Sam Altman
- 3Peopleware4 recommendations · recommended by Jeff Atwood and Kevin Kelly
- 4C Programming, Language2 recommendations · recommended by Patrick Collison and Linus Torvalds
- 5Python Machine Learning2 recommendations · recommended by Kirk Borne and Craig Brown

Heroes of the Computer Revolution
Recommended by Austen Allred, Zooko Wilcox, Donald Knuth and 2 others
This 25th anniversary edition of Steven Levy's classic book traces the exploits of the computer revolution's original hackers those brilliant and eccentric nerds from the late 1950s through the early '80s who took risks, bent the rules, and pushed the world in a radical new…

Xerox PARC and the Dawn of the Computer Age
Recommended by Austen Allred, Patrick Collison, Sam Altman and 1 other
Starts as a vivid inventory of inventors, projects, and lab culture at Xerox PARC, written in reporterly detail that foregrounds anecdotes and corporate memos. Main value is a textured sense of how early GUI, networking, and printing research happened and how personalities and management decisions shaped outcomes. Limitation: the narrative can dwell on minutiae and internal politics, slowing forward momentum and offering few clear takeaways for readers seeking practical lessons or modern startup playbooks. It reads like sustained magazine reporting, so detail-oriented readers are rewarded while those after a brisk how-to may be frustrated.

Productive Projects and Teams (3rd Edition)
Recommended by Jeff Atwood and Kevin Kelly
Peopleware asserts that most software development projects fail because of failures within the team running them. This strikingly clear, direct book is written for software developmentteam leaders and managers, but it's filled with enough commonsense wisdom to appeal to anyone…
This book is meant to help the reader learn how to program in C. It is the definitive reference guide, now in a second edition. Although the first edition was written in 1978, it continues to be a worldwide bestseller.

Machine Learning and Deep Learning with Python, scikitlearn, and TensorFlow 2, 3rd Edition
Recommended by Kirk Borne and Craig Brown
Python Machine Learning pairs concise algorithm descriptions with runnable Python examples and a linked GitHub repository. Early chapters are directly practical if you follow the notebooks; later sections compress derivations and long code walkthroughs that demand slower, hands-on reading. The clearest payoff comes from adapting the examples to your own data rather than passive skimming. Expect a utilitarian finish: usable code snippets and clearer implementation patterns, but not a gentle, classroom-style sequence of exercises.
Recommended by Nassim Nicholas Taleb
Probability, Random Variables and Stochastic
Tackling Complexity in the Heart of Software
Recommended by David Heinemeier Hansson and Grady Booch
"Eric Evans has written a fantastic book on how you can make the design of your software match your mental model of the problem domain you are addressing. "His book is very compatible with XP.
Controlling the Human Element of Security
Recommended by Ben Goldacre
The world's most infamous hacker offers an insider's view of the lowtech threats to hightech security Kevin Mitnick's exploits as a cyberdesperado and fugitive form one of the most exhaustive FBI manhunts in history and have spawned dozens of articles, books, films, and…

A Linux and UNIX System Programming, Handbook
Recommended by Julia Evans
The Linux Programming, Interface is the definitive guide to the Linux and UNIX Programming, interfacethe interface employed by nearly every application that runs on a Linux or UNIX system.In this authoritative work, Linux Programming, expert Michael Kerrisk provides detailed…

The Hidden Language of Computer Hardware and Software
Recommended by Scott Hanselman
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.

Building Extensible and Maintainable ObjectOriented Software
Recommended by Taylor Otwell
You know you don't want to reinvent the wheel, so you look to design patternsthe lessons learned by those who've faced the same software design problems.
A Probabilistic Perspective (Adaptive Computation and Machine Learning series)
Recommended by Kirk Borne
A comprehensive introduction to machine learning that uses probabilistic models and inference as a unifying approach.Today's Webenabled deluge of electronic data calls for automated methods of data analysis.
Show 85 more books with a single recommendation
SummaryLearn Windows PowerShell in a Month of Lunches, Third Edition is an innovative tutorial designed for busy IT professionals.

The most comprehensive, uptodate introduction to the theory and practice of Artificial Intelligence,.The longanticipated revision of Artificial Intelligence,: A Modern Approach explores the full breadth and depth of the field of Artificial Intelligence, (AI).

This classic book is the definitive realworld style guide for better Smalltalk Programming,. This author presents a set of patterns that organize all the informal experience successful Smalltalk programmers have learned the hard way.
This book provides a developerlevel introduction along with more advanced and useful features of JavaScript. Coverage includes:JavaScript use with HTML to create dynamic webpages, language concepts including syntax and flow control statements variable handling given their…

Recommended by David Heinemeier Hansson
The practice of enterprise application development has benefited from the emergence of many new enabling technologies. Multitiered objectoriented platforms, such as Java and .NET, have become commonplace.
A Modern Introduction to Programming,
Recommended by Sarah Drasner
Completely revised and updated, this bestselling introduction to Programming, in JavaScript focuses on writing real applications.Eloquent JavaScript dives into the JavaScript language to show programmers how to write elegant, effective JavaScript code.

Want to tap the power behind search rankings, product recommendations, social bookmarking, and online matchmaking This fascinating book demonstrates how you can build Web 2.0 applications to mine the enormous amount of data created by people on the Internet.
Scientific Computing and Data Science Applications with Numpy, SciPy and Matplotlib
Leverage the numerical and mathematical modules in Python and its standard library as well as popular open source numerical Python packages like NumPy, SciPy, FiPy, matplotlib and more.

Solutions and Techniques in Ruby Programming, (AddisonWesley Professional Ruby Series)
For more than a decade, Ruby developers have turned to The Ruby Way for reliable "howto" guidance on effective Ruby Programming,.

ObjectiveC is the standard Programming, language for application development on the iOS and OS X platforms. A powerful yet simple objectoriented Programming, language that's based on C, ObjectiveC is widely available not only on Apple platforms but across many operating systems,…

A Learner's Guide to RealWorld Programming, with Visual C# and .NET (Head First Guides)
You want to learn C# Programming,, but you're not sure you want to suffer through another tedious technical book. You're in luck: Head First C# introduces this language in a fun, visual way.

Practical, ServerSide JavaScript That Scales
Get to the forefront of serverside JavaScript Programming, by writing compact, robust, fast, networked Node applications that scale.
Master SQL Fundamentals
Updated for the latest database management systems including MySQL 6.0, Oracle 11g, and Microsoft's SQL Server 2008 this introductory guide will get you up and running with SQL quickly.

A Practical Guide
Creating robust software requires the use of efficient algorithms, but programmers seldom think about them until a problem occurs.
Behaviour Driven Development with RSpec, Cucumber, and Friends (Facets of Ruby)
BehaviourDriven Development (BDD) gives you the best of Test Driven Development, Domain Driven Design, and Acceptance Test Driven Planning techniques, so you can create better software with selfdocumenting, executable tests that bring users and developers together with a common…
JavaScript on the server You bet! Node.js is a JavaScript framework that can be used to create scalable, highperformance web applications.

A Guided Tour Through the Wilds of Software Security
"This is one of the most interesting infosec books to come out in the last several years."?Dino Dai Zovi, Information Security Professional"Give a man an exploit and you make him a hacker for a day; teach a man to exploit bugs and you make him a hacker for a lifetime."?Felix…
Learn the Raspberry Pi 3 from the experts! Raspberry Pi User Guide, 4th Edition is the "unofficial official" guide to everything Raspberry Pi 3.

Getting Started with Python
An updated guide to Programming, your own Raspberry Pi projectsLearn to create inventive programs and fun games on your powerful Raspberry Piwith no Programming, experience required.

Learn to speak the Java language like the pros Are you new to Programming, and have decided that Java is your language of choice Are you a wannabe programmer looking to learn the hottest lingo around Look no further!
Covers Scala 2.10
SummaryScala in Action is a comprehensive tutorial that introduces Scala through clear explanations and numerous handson examples. Because Scala is a rich and deep language, it can be daunting to absorb all the new concepts at once.
TDD and Acceptance TDD for Java Developers
In test driven development, you first write an executable test of what your application code must do. Only then do you write the code itself and, with the test spurring you on, you improve your design.

Scalability = Functional Programming, Objects
The second edition of "Programming, Scala" gets experienced developers up to speed on one of today's most exciting languages. Scala offers all the benefits of a modern object model, functional Programming,, and an advanced type system.
Introducing Google's Mobile Development Platform
Google's Android is shaking up the mobile market in a big way. With Android, you can write programs that run on any compatible cell phone or tablet in the world. It's a mobile platform you can't afford not to learn, and this book gets you started.

The Definitive Reference
When you have questions about C# 7.0 or the .NET CLR and its core Framework assemblies, this bestselling guide has the answers you need.
What every web developer should know about networking and web performance

Organize, Test, Document, and Share Your Code
Turn your R code into packages that others can easily download and use. This practical book shows you how to bundle reusable R functions, sample data, and documentation together by applying author Hadley Wickham's package development philosophy.

Summary React in Action introduces frontend developers to the React framework and related tools. This clearly written, examplerich book begins by introducing you to React, diving into some of the fundamental ideas in React, and working with components.
Get ready to make SQL easy!Updated for the latest version of SQL, the new edition of this perennial bestseller shows programmers and web developers how to use SQL to build relational databases and get valuable information from them.

Agile coding with design patterns and SOLID principles (Developer Reference)
Practical and code-focused, Adaptive Code via C# walks through SOLID principles, composition, design patterns, and refactoring techniques with C# examples and refactor walkthroughs. What works best is concrete, copyable techniques that help reduce coupling and make changes safer in a .NET codebase. The limitation is a prescriptive tone and heavy emphasis on C# specifics; readers who lack intermediate OOP experience or who want team/process guidance instead of code-level tactics may find much of the material dense or repetitive.

Discover the latest enhancements to functional Programming, and lambda expressions
Over 90 recipes that leverage the powerful features of the Standard Library in C? About This Book Learn the latest features of C and how to write better code by using the Standard Library (STL). Reduce the development time for your applications.

The Definitive Guide
The world of Java performance has shifted significantly in the past ten years. Multicore machines and 64bit operating systems are now standard even for casual users, and Java itself has introduced new features to manage applications.
This fourth edition of Robert Sedgewick and Kevin Wayne's Algorithms is the leading textbook on algorithms today and is widely used in colleges and universities worldwide.

Practical and example-driven, this is a hands-on introduction to Kotlin that emphasizes readable code, safety features, and how to make Kotlin interoperate with existing Java projects. Chapters pair short explanations with runnable samples, notes about IDEs and build tools, and concrete advice for calling Java from Kotlin. What works best is teaching usable Kotlin patterns you can drop into a JVM codebase; the main limitation is a steady Java orientation and tooling detail that will feel dense if you wanted a lightweight, purely idiomatic language tour.
How to Leverage Your Efforts In Software Engineering to Make a Disproportionate and Meaningful Impact
The most effective engineers ? the ones who have risen to become distinguished engineers and leaders at their companies ? can produce 10 times the impact of other engineers, but they're not working 10 times the hours.They've internalized a mindset that took me years of trial and…
This book focuses on the principles, processes and decisions made during the development of the C Programming, language. As the inventor of the language, Stroustrup presents his insight into the decisions which resulted in the features of C the praised, the controversial and…
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 edgebased flow.Some books on algorithms are rigorous but incomplete; others cover masses of…

A Beginner's Guide to Storytelling with Data
Practical SQL is an approachable and fastpaced guide to SQL (Structured Query Language), the standard Programming, language for defining, organizing, and exploring data in relational databases.
In A Tour of C, Second Edition, Bjarne Stroustrup, the creator of C, describes what constitutes modern C. This concise, selfcontained guide covers most major language features and the major standardlibrary componentsnot, of course, in great depth, but to a level that gives…
Design and Deploy ProductionReady Software
A single dramatic software failure can cost a company millions of dollars but can be avoided with simple changes to design and Architecture,.
68 Specific Ways to Harness the Power of JavaScript (Effective Software Development Series)
"It's uncommon to have a Programming, language wonk who can speak in such comfortable and friendly language as David does.

Exploring Data in Python 3
Python for Everybody is designed to introduce students to Programming, and software development through the lens of exploring data.

A Practical Introduction to Modern Encryption
Serious Cryptography is the much anticipated review of modern cryptography by cryptographer JP Aumasson. This is a book for readers who want to understand how cryptography works in today's world.

Have you ever wondered how your GPS can find the fastest way to your destination, selecting one route from seemingly countless possibilities in mere seconds How your credit card account number is protected when you make a purchase over the Internet The answer is algorithms.
Stop Working Late and Start Working Smart
Time is a precious commodity, especially if you're a system administrator. No other job pulls people in so many directions at once. Users interrupt you constantly with requests, preventing you from getting anything done.
Traps, Pitfalls, and Corner Cases
"Every Programming, language has its quirks. This lively book reveals oddities of the Java Programming, language through entertaining and thoughtprovoking Programming, puzzles."Guy Steele, Sun Fellow and coauthor of The Java(TM) Language Specification"I laughed, I cried, I threw…

Finding and Exploiting Security Flaws
The highly successful security book returns with a new edition, completely updated Web applications are the front door to most organizations, exposing them to attacks that may disclose personal information, execute fraudulent transactions, or compromise ordinary users.
How to improve your JavaScript programs using functional techniques
SummaryFunctional Programming, in JavaScript teaches JavaScript developers functional techniques that will improve extensibility, modularity, reusability, testability, and performance.
Designing changetolerant software
Author Cornelia Davis likes to say that "the cloud" is more about how you design your applications than where you deploy them.
Conventions, Idioms, and Patterns for Reusable .NET Libraries by Krzysztof Cwalina (20050929)
"This book is an absolute mustread for all .NET developers. It gives clear do and don't guidance on how to design class libraries for .NET.

The Good Parts
This is a tight, opinionated manual that selects a conservative subset of JavaScript and defends why those parts are safer. Crockford writes crisply, with short examples, firm pronouncements about language pitfalls, and a teaching-by-omission strategy: remove bad features rather than catalog every feature. The main usefulness is in giving concrete rules you can apply to make code more predictable in legacy or mixed-quality codebases. The main limitation is its prescriptive stance and focus on older JavaScript idioms; readers seeking broad ES6+ coverage or tutorial-style hand-holding will be frustrated.
Elements of Reusable ObjectOriented Software
Design Patterns is a modern classic in the literature of objectoriented development, offering timeless and elegant solutions to common problems in software design.

Programming, in Scala is the definitive book on Scala, the new language for the Java Platform that blends objectoriented and functional Programming, concepts into a unique and powerful tool for developers.Coauthored by the designer of the Scala language, this authoritative book…

40 New Engineering Puzzles, Programming, Problems, and Solutions
Exceptional C Style continues where Exceptional C and More Exceptional C left off. This book follows in the tradition of the first two: It delivers new material, organized in bitesized Items and grouped into themed sections.
In just one hour a day, you'll have all the skills you need to begin Programming, in C. With this complete tutorial, you'll quickly master the basics, and then move on to more advanced features and concepts. Completely updated for the C?
A Learner's Companion to Passing the Project Management Professional Exam
What will you learn from this bookHead First PMP teaches you the latest principles and certification objectives in The PMBOK(R) Guide in a unique and inspiring way.
Praise for Design Patterns in Ruby " Design Patterns in Ruby documents smart ways to resolve many problems that Ruby developers commonly encounter.
Rapid, Confident, Maintainable Code
Debunk the myth that JavaScript is not easily testable. Whether you use Node.js, Express, MongoDB, jQuery, AngularJS, or directly manipulate the DOM, you can testdrive JavaScript. Learn the craft of writing meaningful, deterministic automated tests with Karma, Mocha, and Chai.
Build Faster Web Application Interfaces
If you're like most developers, you rely heavily on JavaScript to build interactive and quickresponding web applications. The problem is that all of those lines of JavaScript code can slow down your apps.

(2016 Edition) Learn Java Programming, Fast with a unique HandsOn Project. Book 4 of the Learn Coding Fast Series. Covers Java 8.

Invent Your Own Computer Games with Python will teach you how to make computer games using the popular Python Programming, languageeven if you've never programmed before!Begin by building classic games like Hangman, Guess the Number, and TicTacToe, and then work your way up to…
New Features and Good Practices
PHP is experiencing a renaissance, though it may be difficult to tell with all of the outdated PHP tutorials online. With this practical guide, you'll learn how PHP has become a fullfeatured, mature language with objectorientation, namespaces, and a growing collection of…
Probabilistic Programming, and Bayesian Inference (AddisonWesley Data & Analytics) (AddisonWesley Data & Analytics)
Master Bayesian Inference through Practical Examples and ComputationWithout Advanced Mathematical Analysis Bayesian methods of inference are deeply natural and extremely powerful.
The most enthusiastically reviewed Programming, book on AmazonBuy the book and get access to all 1,750 interactive exercises free."Damn, this program is ridiculously good.
Embrace Change, 2nd Edition (The XP Series)
Nearly five years after the first edition of this book exploded on to the market, noted software engineering guru and the father of Extreme Programming, (XP)Kent Beck provides a fresh look at this controversial topic.
Principles and Practice (7th Edition)
KEY BENEFIT Stallings' Cryptography and Network Security, Seventh Edition, introduces the reader to the compelling and evolving field of cryptography and network security.
BlackBelt Advice on Deployment, Scalability, Testing, and More
An indispensable collection of practical tips and realworld advice for tackling common Python problems and taking your code to the next level.

Python for Beginners with Handson Project. The only book you need to start coding in Python immediately (Learn Coding Fast) (Volume 1)
(2nd Edition: Covers Object Oriented Programming,) Master Python Programming, with a unique HandsOn ProjectHave you always wanted to learn computer Programming, but are afraid it'll be too difficult for you Or perhaps you know other Programming, languages but are interested in…
For courses in Python Programming,. A clear and studentfriendly introduction to the fundamentals of Python In Starting Out with Python(R), 4th Edition, Tony Gaddis' accessible coverage introduces students to the basics of Programming, in a high level language.

Query Solutions and Techniques for Database Developers (Cookbooks (O'Reilly))
You know the rudiments of the SQL query language, yet you feel you aren't taking full advantage of SQL's expressive power. You'd like to learn how to do more work with SQL inside the database before pushing data across the network to your applications.
Mastering Basic Algorithms in the Python Language (Expert's Voice in Open Source)
Python Algorithms explains the Python approach to algorithm analysis and design. Written by Magnus Lie Hetland, author of Beginning Python, this book is sharply focused on classical algorithms, but it also gives a solid understanding of fundamental algorithmic problemsolving…
Avoiding the Pitfalls of Database Programming, (Pragmatic Programmers)
Bill Karwin has helped thousands of people write better SQL and build stronger relational databases. Now he's sharing his collection of antipatternsthe most common errors he's identified in those thousands of requests for help.

Best Practices for Development
The Hitchhiker's Guide to Python takes the journeyman Pythonista to true expertise. More than any other language, Python was created with the philosophy of simplicity and parsimony.

Essential Commands
If you use Linux in your daytoday work, this popular pocket guide is the perfect onthejob reference. The third edition features new commands for processing image files and audio files, running and killing programs, reading and modifying the system clipboard, and manipulating PDF…
The Definitive Guide to Programming, Professionally
I am a selftaught programmer. After a year of selfstudy, I learned to program well enough to land a job as a software engineer II at eBay. Once I got there, I realized I was severely underprepared.
An accessible introduction to an exciting new area in computation, explaining such topics as qubits, entanglement, and quantum teleportation for the general reader.Quantum computing is a beautiful fusion of quantum physics and computer science, incorporating some of the most…

Build robust and maintainable software with objectoriented design patterns in Python 3.8, 3rd Edition
Uncover modern Python with this guide to Python data structures, design patterns, and effective objectoriented techniques Key Features Indepth analysis of many common objectoriented design patterns that are more suitable to Python's unique style Learn the latest Python syntax…

Programming, Game AI by Example provides a comprehensive and practical introduction to the "bread and butter" AI techniques used by the game development industry, leading the reader through the process of designing, Programming,, and implementing intelligent agents for action…

Expect a dense, code-first manual that forces you to think of C++ types as executable pieces of logic. Main value: it turns template syntax into reusable compile-time techniques through many worked examples and concrete implementations. Main limitation: the book assumes strong prior knowledge of C++ templates and spends little time on gentle introductions or modern standard shortcuts, so newcomers or readers seeking hand-holding will struggle. Best read with a compiler on hand so you can run and tinker with the examples.
Recommended Programming Books by David Heinemeier Hansson
David Heinemeier Hansson recommends 3 books on this list. See all book recommendations by David Heinemeier Hansson
Recommended Programming Books by Austen Allred
Austen Allred recommends 2 books on this list. See all book recommendations by Austen Allred
Recommended Programming Books by Kirk Borne
Kirk Borne recommends 2 books on this list. See all book recommendations by Kirk Borne
Programming Books: common questions
- What are the most recommended programming books?
- Hackers, Dealers of Lightning and Peopleware are the most recommended programming books on BookMentions, ranked by how many people recommended them.
- Who recommends programming books?
- David Heinemeier Hansson, Austen Allred, Kirk Borne and Patrick Collison are among the people who recommend books on this list. Each name links to their full set of book recommendations.
- Which of these programming books should I read first?
- Hackers is the most recommended here with 9 recommendations, which makes it the safest place to start.
Built from recommendation data, category signals, and source-backed book records. Use this list as a starting point; open any book to see proof, context, and Amazon options where available.
Explore more lists
Best Silicon Valley Books
17 booksSilicon Valley books, including titles recommended by Austen Allred, Keith Rabois and Andrew Chen. Most recommended here: Steve Jobs, Elon Musk and AI Superpowers.
Best Cryptography Books
49 booksCryptography books, including titles recommended by Ev Williams, Tim Ferriss and Alexis Ohanian. Most recommended here: Snow Crash, Cryptonomicon and The Code Book.
Best Artificial Intelligence Books
68 booksA curated collection of the highest-rated AI books, covering machine learning, neural networks, the future of intelligence, and the societal impact of AI.
Best Math Books
189 booksMathematics books recommended most by mathematicians and teachers — number theory, proof and statistics. Plus the popular accounts that convey the ideas without diluting them.
Best Project Management Books
85 booksProject Management books, including titles recommended by Andrew Chen, Alexis Ohanian and David Cancel. Most recommended here: The Hard Thing About Hard Things, The Lean Startup and Good To Great.
Best Statistics Books
90 booksStatistics books recommended most by analysts and researchers — inference, probability and experimental design. Plus the books that teach you to spot a bad chart.
About this list
This list aggregates books that appear in public recommendation sources, reader-interest signals, and category data. Books are ranked by their position from the source list; recommendation counts and ratings are shown where available. Open any book to see source-backed recommendation proof, editorial context, and Amazon options — the per-book detail page is where the trust signals live.
Recommended books by person: who recommends programming books
Books recommended by the people below. Open a profile to see everything they recommend, with the source behind each pick.
- David Heinemeier HanssonBooks recommended by David: 3
- Austen AllredBooks recommended by Austen: 2
- Kirk BorneBooks recommended by Kirk: 2
- Patrick CollisonBooks recommended by Patrick: 2

- Ben GoldacreBooks recommended by Ben: 1
- Craig BrownBooks recommended by Craig: 1
- Donald KnuthBooks recommended by Donald: 1
- Ev WilliamsBooks recommended by Ev: 1

- Grady BoochBooks recommended by Grady: 1
- Jeff AtwoodBooks recommended by Jeff: 1
- Jeffrey SnoverBooks recommended by Jeffrey: 1
- Julia EvansBooks recommended by Julia: 1


