15 Free Books for People Who Code

This is a collection of free programming books that are in digital/online format. The books in this list provide timeless insights that are universally applicable to all programming languages.

Note: Some of the books in this collection might use a specific programming language (such as Python) to illustrate general programming ideas.

How to Design Programs

By , , , . 55 pages.

This book is about the process of designing computer programs — which might mean "desktop software" or "mobile apps" or "web apps" depending on who’s reading.

97 Things Every Programmer Should Know

By . 98 web pages.

Published by O’Reilly Media, this book is a collection of essays, or "pearls of wisdom for programmers collected from leading practitioners."

Foundations of Computer Science

By ., . 775 pages.

This text book was published in 1992, and has since been taken out of print. This is what the authors say about this book: "We believed in 1992 it was the way to introduce theory in Computer Science, and we believe that today."

Introduction to Computing

By . 266 pages.

This book covers essential computer science concepts. It uses Python and Scheme, but it’s not really a book about those two programming languages.

The Codeless Code

By . 195 web pages.

This book is a series of 195 stories in the form of fables about the art and act of software development.

Producing Open Source Software

By . 24 web pages.

From the book: "Producing Open Source Software is a book about the human side of open source development. It describes how successful projects operate, the expectations of users and developers, and the culture of free software."

Patterns of Software (PDF)

By . 239 pages.

This book is a set of essays exploring topics in programming. It’s an entertaining read, and a penetrating look into the life and mind of a programmer.

The Architecture of Open Source Applications

By .

This is a trilogy of books about the design/architecture of open source software. From the description: "If you are a junior developer, and want to learn how your more experienced colleagues think, these books are the place to start."

Foundations of Programming (PDF)

By . 79 pages.

This book is based on an article series called "Foundations of Programming" by software developer Karl Seguin. The topics — which are written from a .NET developer’s perspective — are about things all programmers care about. Examples: unit testing, memory allocation, and DRY code.

The Nature of Code

By . 17 web pages.

This book is an exploration of naturally occurring things in our world — physics, fractals, etc. — and how they might be simulated with code. The code samples are written in Processing.

Learn Regex The Hard Way

By . 31 web pages.

Regular expressions (regex) are powerful, but the concept can be hard to learn. Regex has been around since the 1950’s, but it’s still a huge part of modern programming.

The Little Introduction To Programming

By . 7 web pages.

This book covers foundational programming concepts such as data types and conditional statements.

How to Think Like a Computer Scientist

By , , , . 39 web pages.

From the book: "The single most important skill for a computer scientist is problem solving. Problem solving means the ability to formulate problems, think creatively about solutions, and express a solution clearly and accurately."

Essential Coding Theory

By , , . 226 pages.

This book dives deeply into mathematical concepts, algorithms, and patterns related to code. This is by no means an easy book to read, and is reserved only for the brave.

Building Skills in Programming

By . 491 pages.

This book uses Python to teach the learner concepts such as functions, data types, objects, conditional statements, and more.

Related Content

Jacob Gube is the founder of Six Revisions. He’s a front-end developer. Connect with him on Twitter and Facebook.

This was published on Jun 26, 2015


Mocha Dwi Jun 28 2015

Thank you very much sir :)

Cathy Mayhue Jun 29 2015

Foundations of computer science brought all the old memories back, those initial years of struggling to learn computers, computer science and programming. In this list I find the first one to be most useful for me. Upgrade myself with latest software design methodologies is always enlightening and fun!

David Albert Jul 10 2015

Great job. I love seeing blog that understand the value. I am glad to have found this post as it’s such an interesting one. I am always on the lookout for quality posts and articles so I suppose I am lucky to have found this. I hope you will be adding more interesting articles in the future.

    Are you a bot? Really, who speaks like that?

Great books, it effectively complements my list, which also contains Clean Code and Refactoring from Martin Fowler, those are great books to improve your code, which is very important.

Prashant Aug 03 2015

You should give an option of reblogging so that you can spread this awesome thing more

Essential Coding Theory is only tangentially related to programming. It’s about information theory and data compression.

Nicolas S. Oct 07 2015

You’re missing the best :

Phong Tran Oct 09 2015

Thanks very much sir!

Excellent post, this will be of tremendous value to so many people. Way to spread the knowledge.

This comment section is closed. Please contact us if you have important new information about this post.