Mindket

Free Programming Books 免费编程书单

新上架第 2 版 · 更新于
星标401k

概览

社区维护的免费编程书籍、课程、速查表、交互式教程、播客和在线练习场清单,覆盖多种语言,由 Free Ebook Foundation 管理。安装说明涵盖怎么阅读和检索它、让 Claude Code、Codex 或 Cursor 帮你查,以及维护者的检查。

Free Programming Books 免费编程书单 是一款 GitHub 上的开源项目,属于教育类,由 Mindket 上架。可免费获取。当前为第 2 版,最近更新于 。按它的 README 从 GitHub 安装。Mindket 的设置说明可在你的 Mindket 账户获取,以 zip 压缩包下载。

速览

用在
  • GitHub: the README, and each list file it links to
  • The static website: the README says the page is available as an easy-to-read website
  • The search site: a separate page where you search by book or author
  • A local copy: clone the repository, or take the zip that the README’s repo-size badge links to, then search the files by hand or with your agent
先运行
git clone https://github.com/EbookFoundation/free-programming-books.git

平台

Any coding agent编程智能体
Claude Code编程智能体
Codex编程智能体
Cursor代码编辑器

关于

它是什么

Free Programming Books is a list of links to learning material that is free to read. The Free Ebook Foundation administers it, and contributors keep adding to it. It is a set of Markdown files, not a program. You open a list, find your subject or language, and follow a link to the resource’s page. The README says the list began as a clone of a StackOverflow question and grew into one of GitHub’s most popular repositories.

  1. You want to learn a subject for free
  2. Open the list for your language or subject
  3. Find the section and read its lines
  4. Follow the link to the resource’s page
  5. Check the terms there, then read or download

适合谁

Learners who want free material for one language or one subject, teachers who build a reading list, and developers who need a book on a topic outside their daily work. Readers of other languages can start from the README’s per-language lists. A coding agent can search a local copy for you.

Who uses it, and how
Who uses itHow they use itExample
Self-taught learnersPick a book for a language from the by-language listA learner opens the Rust section and chooses a book that reads in the browser.
Teachers and tutorsBuild a reading list from one subject sectionA teacher takes lines from the Algorithms & Data Structures section and shares them with a class.
Developers learning a new areaLook up a subject that is not tied to one languageA web developer reads the Operating Systems section of the subjects list.
Readers of another languageStart from the list for their languageA reader opens the Portuguese (Brazil) list instead of the English one.
ContributorsAdd a free resource that is not listed yetSomeone proposes a book in an issue, after searching for duplicates.

Skip it if you want one recommended path. The lists are alphabetical, and they do not say which book is best.

用在哪里

The lists work anywhere you can open a web page or a Markdown file.

  • GitHub: the README, and each list file it links to
  • The static website: the README says the page is available as an easy-to-read website
  • The search site: a separate page where you search by book or author
  • A local copy: clone the repository, or take the zip that the README’s repo-size badge links to, then search the files by hand or with your agent
  • The maker’s checks: Node.js, Ruby or Python, only if you contribute
The lists by kind
KindWhere in the repositoryWhat a line points to
Booksbooks/A free book, in HTML, PDF, EPUB or another format
Coursescourses/A course, often on a platform named in parentheses
Interactive tutorialsmore/A site where you type code or commands and see the result
Cheat sheetsmore/A cheat sheet for a language, a tool or a topic
Problem setsmore/A site or tool for practice problems and competitive programming
Podcasts and screencastscasts/A free podcast or screencast
Playgroundsmore/An online place to write, run and share code

The README gives no steps for any coding agent. Minda’s notes for Claude Code, Codex and Cursor are ordinary steps for giving an agent a folder to read, and they say so.

如何设置

Get it saves a zip of Minda’s setup notes in your downloads folder. The lists need no install, and the README gives no install line.

What you need first
NeedDetail
NothingTo read the lists on GitHub or on the two websites
GitOnly to keep a local copy. GitHub reports the clone address, and git clone is ordinary Git, not a line from the README
Node.jsOnly to run fpb-lint, the maker’s format check
RubyOnly to run awesome_bot, the maker’s link check
PythonOnly to run the maker’s right-to-left check
  1. Read the README on GitHub, or open the website.
  2. To keep a copy, clone the repository with the line below.
  3. Open the folder in your editor or coding agent, and go to books/, courses/ or more/.
git clone https://github.com/EbookFoundation/free-programming-books.git

The clone line is ordinary Git on the address GitHub reports. The next two lines come from the maker’s workflow file fpb-lint.yml. There, the second line ends with &> output.log, which writes the result to a log. Run them from the repository’s root. The first installs the format check, and the second runs it on the four list folders.

npm install -g free-programming-books-lint
fpb-lint books casts courses more

如何使用

Open the list that fits, then the section you want. Each line gives a title and its link, and often an author. Then come notes: a format such as (HTML) or (PDF) on a book, a platform such as (Udemy) on a course, and sometimes a license code or an access note. The title’s link goes to the most authoritative source the contributor found: the author’s site, else the editor’s, else a third party’s, or an archived copy marked archived. The download and the terms are on that page. The README’s search page takes a book title or an author’s name.

With an agent, name the file and the section, and ask it to quote the lines it used.

Open books/free-programming-books-langs.md in this folder. List the Rust books that come as HTML, with their authors and links.

示例

You want to learn Rust without buying a book. You open books/free-programming-books-langs.md and search for ### Rust, or you ask your agent for the books that come as HTML.

In the list read on 3 November 2026, the Rust section has these lines, among others:

* [A Gentle Introduction To Rust](https://stevedonovan.github.io/rust-gentle-intro) - Steve J Donovan (HTML)
* [Easy Rust](https://dhghomon.github.io/easy_rust/) - David McLeod (HTML, PDF)

You pick Easy Rust and open its link. The line gave you the title, the author and two formats. The terms and anything else about the book are on the book’s own page.

新手与专家

新手:A list like this holds no books. Each line is a link to a book or course that someone else wrote and put online for free. The format in parentheses tells you what you get, such as HTML to read in a browser or PDF to download. A code such as CC BY-SA names the Creative Commons license the contributor found on the resource’s page. A line without a code may still be free to read but not free to copy. Start with the by-language list for the language you are learning, or the by-subject list for a topic such as algorithms.

专家:Each list is a plain Markdown file with one resource per line and the lines in alphabetical order, so a line-based tool can read it. CONTRIBUTING.md fixes the layout down to the blank lines between sections, which makes a text search on a heading such as ### Rust reliable.

The maker’s format check, fpb-lint, is based on remark-lint. It runs on the books, casts, courses and more folders on every pull request. A second workflow runs awesome_bot on the files a push or pull request changes, and its step ends with || true, so a dead link does not fail the step. A third check covers the Arabic, Hebrew, Persian and Urdu lists.

The pull request template asks how the contributor knows a resource is really free. CONTRIBUTING.md says it helps the admins if they comment in the pull request why they think a book is free. That is a contributor’s judgment and a reviewer’s, not a license audit.

注意事项

The lists only point to resources, so nothing here runs on your machine unless you run one of the maker’s checks. The questions are about what the links lead to.

  • License: CC BY 4.0. It covers the repository’s files, the lists. Each linked resource has its own owner and terms, and CONTRIBUTING.md says some listed resources are all rights reserved but free to read
  • Links change: the link check runs on files that a push or pull request changes, so a line in a file nobody touched can go stale. Open a link before you rely on it
  • What is left out: blogs, articles, videos that are not courses or screencasts, book chapters, teaser samples, and files on Google Drive, Dropbox, Mega, Scribd or Issuu
  • Access notes: some lines ask for an email address or a Leanpub account, and a course line names its platform, which often asks for an account. The note on the line says so
  • Outbound: reading loads GitHub or the websites. A local copy opens no connection by itself. Previewing README.md or HOWTO.md in a Markdown viewer loads their badge and chart images from img.shields.io, cdn.rawgit.com and apiseven.com
  • Removal: delete the local copy’s folder. If you installed fpb-lint with npm, remove it the way you remove any global npm package

README 和文件

README

Free Programming Books:安装说明

这个工具包里只有安装说明,由 Mindket 编写。清单本身就是 EbookFoundation/free-programming-books 仓库里的文件:https://github.com/EbookFoundation/free-programming-books

这些说明不是 Free Ebook Foundation 或清单的贡献者写的,也没有得到他们的认可。这个仓库在 GitHub 上的描述是“:books: Freely available programming books”,意思是:免费提供的编程书籍。README 的标题是“List of Free Learning Resources In Many Languages”,意思是:多种语言的免费学习资源清单,并说“This project lists books and other resources grouped by genres”,意思是:这个项目按类型整理书籍和其他资源。来源:https://github.com/EbookFoundation/free-programming-books/blob/main/README.md

许可证:CC BY 4.0。GitHub 的仓库信息把它写作“Creative Commons Attribution 4.0 International”(CC-BY-4.0),LICENSE 文件以“Attribution 4.0 International”开头,README 说“Each file included in this repository is licensed under the CC BY License”,意思是:仓库里的每个文件都按 CC BY 许可证授权。这只涵盖仓库自己的文件,也就是这些清单。清单链接到的每一本书、每一门课程或每一个网站,都有各自的所有者和条款。CONTRIBUTING.md 说,清单里也收录了“All Rights Reserved”(保留所有权利)但可以免费阅读的资源。来源:https://api.github.com/repos/EbookFoundation/free-programming-books、https://github.com/EbookFoundation/free-programming-books/blob/main/LICENSE 和 https://github.com/EbookFoundation/free-programming-books/blob/main/docs/CONTRIBUTING.md

它是什么

一组 Markdown 格式的链接清单,不是程序。每一行写明一份免费资源的名称并附上链接,通常还有作者,以及格式或平台。仓库本身不存放书。README 说这份清单“was originally a clone of”(最初是……的克隆)一份 StackOverflow 上的免费编程书籍清单,后来由 Victor Felder 搬到 GitHub,现在由 Free Ebook Foundation 管理。

仓库的文件树和 README 里有这些文件:

  • README.md:简介、怎么贡献,以及按类型和语言列出的所有清单的索引
  • books/:free-programming-books-langs.md(英文,按编程语言分)、free-programming-books-subjects.md(英文,按主题分)、每种其他语言各一个文件(如 free-programming-books-zh.md),以及 free-programming-books-en.md,一个指向前两份清单的简短页面
  • courses/:每种语言一份免费在线课程清单,如 free-courses-en.md
  • casts/:每种语言一份播客和屏幕录制清单,如 free-podcasts-screencasts-en.md
  • more/:free-programming-cheatsheets.md、每种语言一份交互式教程、problem-sets-competitive-programming.md,以及在线练习场
  • docs/:CONTRIBUTING.md、HOWTO.md、CODE_OF_CONDUCT.md 及它们的各种译文,以及列出这些译文的 README.md
  • .github/workflows/:维护者的工作流文件,其中有在拉取请求和推送时运行的检查
  • scripts/:rtl_ltr_linter.py 和 rtl_ltr_linter_config.yml
  • _config.yml:静态网站的设置

来源:README 和仓库的文件树(https://api.github.com/repos/EbookFoundation/free-programming-books/git/trees/main?recursive=1)。

要安装什么

阅读清单不需要安装任何东西,README 也没有给出安装命令。可选的检查需要 Node.js(fpb-lint)、Ruby(awesome_bot)或 Python(从右到左文字的检查)。见 setup/contribute-and-check.md。

先要准备什么

  • 阅读清单:一个浏览器,或者任何能打开 Markdown 文件的程序。
  • 保留本地副本:Git。README 没有给出克隆命令。GitHub 的仓库信息报告的克隆地址是 https://github.com/EbookFoundation/free-programming-books.git。对这个地址运行 git clone 是普通的 Git 用法(Mindket 的说明,不是维护者的)。README 里的仓库大小徽章还链接到主分支的 zip:https://github.com/EbookFoundation/free-programming-books/archive/refs/heads/main.zip
  • 运行维护者的检查:setup/contribute-and-check.md 里写明的那个工具。

各平台的说明

  • setup/read-and-search.md:GitHub、静态网站、搜索站点和本地副本,以及怎么手动找到一份资源
  • setup/reading-an-entry.md:一行末尾的格式、许可证和备注是什么意思,以及清单不收录什么
  • setup/ai-agents.md:把本地副本交给 Claude Code、Codex、Cursor 和其他智能体去读(Mindket 的说明,因为维护者没有写任何智能体的用法)
  • setup/contribute-and-check.md:添加资源的规则,以及维护者的三项检查

更新或移除

本地副本是一个 Git 文件夹。要更新,在里面运行 git pull(Mindket 的说明,普通的 Git 用法)。要移除,删除这个文件夹。除非你装了某项检查用的工具,否则没有装别的东西。

对外连接

  • 在 GitHub 或两个网站上阅读会加载那些网站。README 里的徽章是从其他主机加载的图片,比如 img.shields.io。
  • 本地副本自己不会发起任何连接。在 Markdown 查看器里预览 README.md 或 HOWTO.md,会从 img.shields.io、cdn.rawgit.com 和 apiseven.com 加载它们的徽章和图表图片。清单里的链接会去往那份资源自己的网站,那里有它自己的条款和隐私做法。
  • 搜索站点是一个单独的 JavaScript 页面,地址是 https://ebookfoundation.github.io/free-programming-books-search/ 。没有 JavaScript 时,页面会显示“You need to enable JavaScript to run this app.”,意思是:你需要启用 JavaScript 才能运行这个应用。

来源

  • README:https://github.com/EbookFoundation/free-programming-books/blob/main/README.md
  • LICENSE:https://github.com/EbookFoundation/free-programming-books/blob/main/LICENSE
  • CONTRIBUTING.md:https://github.com/EbookFoundation/free-programming-books/blob/main/docs/CONTRIBUTING.md
  • HOWTO.md:https://github.com/EbookFoundation/free-programming-books/blob/main/docs/HOWTO.md
  • 各份清单:https://github.com/EbookFoundation/free-programming-books/tree/main/books,以及 courses、casts 和 more
  • 拉取请求模板:https://github.com/EbookFoundation/free-programming-books/blob/main/.github/PULL_REQUEST_TEMPLATE.md
  • 工作流:https://github.com/EbookFoundation/free-programming-books/tree/main/.github/workflows
  • 网站设置:https://github.com/EbookFoundation/free-programming-books/blob/main/_config.yml
  • GitHub 的仓库信息:https://api.github.com/repos/EbookFoundation/free-programming-books
  • 静态网站:https://ebookfoundation.github.io/free-programming-books/
  • 搜索站点:https://ebookfoundation.github.io/free-programming-books-search/
文件
README.md  6 KB
setup/ai-agents.md  2 KB
setup/contribute-and-check.md  8 KB
setup/read-and-search.md  4 KB
setup/reading-an-entry.md  4 KB

5 个文件,共 25 KB,以 zip 压缩包下载。

更新内容

  • 第 2 版 · 2026-11-09

    Updated by Mindket to the current version of this kit.

  • 第 1 版 · 2026-11-03

评价

还没有评分

写评价

还没有评价。

大家怎么说

Hacker News、Bluesky、X、Reddit、Facebook 和 YouTube 上提到这个项目的帖子和评论,来自每周一次的搜索和 Trendshift。它们不是 Mindket 写的,也未经核实,点开即可在原帖处阅读。

whereistimboEbookFoundation/Free-Programming-Books38 分 · 2 条回复GitHub Trending🔥 Hot Repo! 🔥 (100+ new stars) 📦 EbookFoundation / free-programming-books ⭐ 386,359 (+133) 🗒 Python 📚 Freely available programming books1 赞@ruyi3699GitHub 上收藏的仓库一抓一大把,可真正点开过的能有几个?说句实在话,这跟囤电子书没啥区别,存下来就当自己已经学过了。📚 能让我反复翻出来看的,兜兜转转也就这 5 个: 1️⃣ public-apis —— 几百个免费 API 按领域分好类,做 demo 时随手一翻就有 https://t.co/zMCUBDciKP 2️⃣ build-your-own-x —— 从零手撸数据库、编译器、Docker,费曼学习法的天花板级实践 https://t.co/FqueFYA8Hz 3️⃣ developer-roadmap ——…chhickmanEbookFoundation/Free-Programming-Books3 分@radiotux.bsky.socialWissensdurst? **Free Programming Books**! 📚💻 #shipit Eine riesige Sammlung kostenloser Programmierbücher & Kurse in vielen Sprachen. Highlights: ✅ Tausende Ressourcen ✅ Mehrsprachig ✅ Open Source Link: https://github.com/EbookFoundation/free-programming-books #RadioTux #Programming #Learning@bdall_1想学编程,却不知道先学什么、学完怎么练? 这 8 个 GitHub 项目可以分别解决这些问题: 1. developer-roadmap 查看不同开发方向的学习路线。 https://t.co/go6lGP0agB 2. freeCodeCamp 跟着课程和练习学习编程。 https://t.co/DYTTAnGdXz 3. free-programming-books 免费的编程书籍和学习资源合集。 https://t.co/uKEYSts8rG 4. build-your-own-x 通过亲手实现数据库、编译器等项目,理解它们的工作原理。 https://t.co/mWAUZSVUso…axiomdata316EbookFoundation/free-programming-books: Freely available programming books3 分Andrii Kuznietsov📚 Ресурс де зібрані тисячі книг, курсів і навчальних матеріалів для програмування та не тільки. Охоплює широкий спектр тем — від основ до просунутого рівня. Усі ресурси зручно розподілені за категоріями для швидкого пошуку 🔗 github.com/EbookFoundat...@wanerfu$81MofpofjisDon't Use ISO/IEC 14977:1996 Extended Backus-Naur Form (EBNF) (2023)Evidence to the contrary (anecdotal, admittedly): - https://github.com/EbookFoundation/free-programming-books/is... -- "The most recent freely available draft of C17/C18 used to be c17_updated_proposed_fdis.pdf, but it's no longer available directly and you need to use Wayback Machine to download…Tom Dörrhttps://github.com/EbookFoundation/free-programming-books@huhaoai学编程或者找技术资料的兄弟,把这个东西存死,真能省下大几千块买书钱。 free-programming-books:https://t.co/oXvKpHwBJF GitHub 上近 40 万 Star 的神级公益库,全球开发者维护了十几年。从 Python、Go、Rust、Java、C++ 到 AI 大模型、分布式架构、底层操作系统,几千本高质量正版开源书全给你翻出来。 它甚至还有一个可以直接搜书的官方网页站:https://t.co/yeYU7KX7wK 想找哪门语言、哪本教材,敲个名字直接就能在线看或下载,完全没有关注公众号求资料那些恶心套路。

搜索日期

Mindket 的更多商品

查看 Mindket 的全部商品

Huashu Design

alchaincyf · 技能

把你在 AI 智能体里写的一句话需求,变成一份完成的设计:发布动画、可点击的应用原型、可编辑的幻灯片、信息图,或一组小红书图片。可在多种智能体中使用。

新上架29.4k

Guizang PPT Skill

op7418 · 技能

能生成单文件 HTML 幻灯片、幻灯片配图和多平台封面的技能,有两套视觉风格,还带演讲者模式用于排练。适合使用 Claude Code 或 Codex 的演讲者。

新上架29.8k

Claude Code Skills & Plugins

alirezarezvani · 技能

为 Claude Code 和其他编程智能体提供 411 个现成技能,按角色分组,从工程、产品到营销、财务和合规。以插件方式安装。适合开发者和业务团队。

新上架29.8k

The Algorithms Python 算法合集

TheAlgorithms · 工具包

TheAlgorithms 的开源算法与数据结构合集,每一项都用 Python 写成,供学习使用。安装说明涵盖在 GitHub 或文档站点上阅读、克隆或 ZIP、运行文件的 doctest、开发容器,以及让 Claude Code、Codex 或 Cursor 当辅导老师。

新上架226k

Vāgdhenu

prathoshap · 工具包

用一个训练好的声音,以吟诵风格朗读古典梵语诗节,由参考音频决定节奏。适合学习、背诵或需要梵语音频的人。

新上架

Limite 1B - Violetto

paradigma-inc · 工具包

用一个从头训练的 1B 参数模型解决难度很高的数学题,追求高速、大批量的推理。适合在 NVIDIA GPU 上运行数学任务的开发者。

新上架