菜单

书籍合集

相关源文件

本文档全面概述了 free-programming-books 仓库中的书籍收藏系统。书籍收藏是该仓库最大、最有条理的组成部分之一,以系统化的方式提供了丰富的免费编程资源。

目的与范围

书籍收藏是一个精心策划的免费编程书籍目录,从多个维度进行组织,以最大限度地提高可发现性。该收藏包括数千本涵盖数百种编程语言、主题和自然语言的书籍,使其成为全球学习者和专业人士的宝贵资源。

有关书籍特定子类别的信息,请参阅按编程语言分类的书籍按主题分类的书籍非英语书籍

组织结构

书籍收藏按三个主要维度进行组织:

  1. 编程语言 - 专注于特定编程语言的书籍(例如,Python、Java、JavaScript)
  2. 主题 - 关于与编程相关但与语言无关的主题的书籍(例如,算法、机器学习、图形编程)
  3. 自然语言 - 用英语以外的语言编写的书籍

收藏层级图

来源:books/free-programming-books-langs.md1-233 books/free-programming-books-subjects.md1-55

文件结构

书籍收藏分布在多个 Markdown 文件中,每个文件都专门用于特定的组织维度或自然语言。

文件结构图

来源:books/free-programming-books-langs.md books/free-programming-books-subjects.md books/free-programming-books-pt_BR.md books/free-programming-books-zh.md books/free-programming-books-ru.md books/free-programming-books-ja.md

核心文件描述

free-programming-books-langs.md

此文件包含按编程语言组织的书籍。它首先是一个索引,然后按字母顺序列表编程语言,每个语言部分包含相关的书籍条目。

该文件包括以下元素:

  • 关于语言无关书籍的解释性介绍
  • 编程语言的字母顺序索引
  • 每个编程语言的部分及其对应的书籍条目

这是书籍收藏中最大的组织文件,包含超过200种编程语言及其框架/库的条目。

来源:books/free-programming-books-langs.md1-5

free-programming-books-subjects.md

此文件包含不特定于任何编程语言的编程相关书籍。书籍按主题类别组织。

该文件包括:

  • 关于语言无关书籍的解释性介绍
  • 主题类别的字母顺序索引
  • 每个主题的部分及其对应的书籍条目

主要主题包括算法、人工智能、云计算、计算机科学等。

来源:books/free-programming-books-subjects.md1-9

语言特定文件

这些文件包含非英语编写的书籍。每个文件对应一种特定的自然语言(例如,葡萄牙语、中文、俄语)。

例如

  • free-programming-books-pt_BR.md - 巴西葡萄牙语书籍
  • free-programming-books-zh.md - 中文书籍
  • free-programming-books-ru.md - 俄语书籍
  • free-programming-books-ja.md - 日语书籍

每个语言特定文件都遵循类似的组织结构,包含主题索引和书籍条目部分。

来源:books/free-programming-books-pt_BR.md1-10 books/free-programming-books-zh.md1-10 books/free-programming-books-ru.md1-10 books/free-programming-books-ja.md1-10

书籍条目格式

每个书籍条目都遵循一致的格式,以便于阅读和统一。仓库对所有条目使用 Markdown 语法,并有特定的格式指南。

标准书籍条目格式

书籍条目示例语法

典型的书籍条目遵循此格式:

* [Book Title](http://example.com/book) - Author Name (PDF)

对于多作者或多译者书籍:

* [Book Title](http://example.com/book) - Primary Author, Second Author, `trl.:` Translator Name (PDF) (CC-BY-NC)

来源:books/free-programming-books-langs.md240-260

类别结构

每种书籍类别(无论是按编程语言、主题还是特定自然语言)都以标题开头,后跟按字母顺序排序的条目。

类别结构图

对于有大量资源的编程语言,通常会使用子类别。例如,JavaScript 可能包括 React、Angular 和 Vue 等框架的子类别。

来源:books/free-programming-books-langs.md86-120

覆盖范围统计

书籍收藏内容庞大且持续增长。以下是当前覆盖范围的概述:

维度大致数量
编程语言200+
主题50+
自然语言25+
书籍条目总数5000+

覆盖最广的编程语言包括 Python、JavaScript、Java、C/C++ 和 Ruby。在主题方面,覆盖最广的是算法、机器学习、计算机科学基础和 Web 开发。

来源:books/free-programming-books-langs.md books/free-programming-books-subjects.md

跨语言导航

该仓库实现了交叉引用系统,帮助用户在不同语言的书籍或同一本书的不同版本之间导航。

跨语言导航图

对于多语言书籍,条目通常包含指向其他语言版本的交叉引用,从而提高了非英语使用者的可访问性。

来源:books/free-programming-books-langs.md124-130 books/free-programming-books-pt_BR.md477-480

与仓库结构的集成

书籍收藏与整个仓库结构集成,后者除了书籍还包括其他类型的资源。

仓库结构集成

虽然本文档侧重于书籍收藏,但该仓库还包括其他教育资源,如课程、播客和互动教程,每种资源都以类似的方式组织。

来源:books/free-programming-books-langs.md1-5 books/free-programming-books-subjects.md1-5

结论

书籍收藏是 free-programming-books 仓库的基石,提供了一个全面、组织良好的免费编程资源库。其按编程语言、按主题和按自然语言分类的结构化方法,确保用户无论具体需求或语言背景如何,都能轻松找到相关资源。

有关书籍特定子类别的更多详细信息,请参阅按编程语言分类的书籍按主题分类的书籍非英语书籍