菜单

特定语言路径

相关源文件

目的与范围

本文档根据您偏好的编程语言,提供在 Build Your Own X 仓库中导航的指南。这些路径允许开发者构建各种系统,同时保持在他们选择的语言范围内,而不是遵循基于技术的学习路径(在新手路径高级项目指南中涵盖)。这种方法对于希望在探索不同技术领域的同时加深对特定语言的了解的人特别有用。

来源: README.md10-37

仓库中的语言分布

在深入了解特定语言路径之前,了解编程语言在仓库中的分布情况很重要。虽然仓库主要按技术类别组织教程,但每个教程都是用一种或多种编程语言实现的。

教程中的语言普及度

下表显示了仓库中主要的编程语言及其在教程类别中的大致分布

语言类别数量显著优势
C/C++17操作系统、3D渲染器、模拟器
Python15神经网络、Web服务器、数据库
JavaScript13前端框架、区块链、游戏
Go9命令行工具、网络栈、Docker
Rust8操作系统、Web浏览器、CLI工具
Ruby7模板引擎、Git、文本编辑器
Java53D渲染器、游戏、Android应用
C#5游戏、增强现实、神经网络
TypeScript4区块链、前端框架
Haskell3Git、编程语言

来源: README.md41-473

按教程类别划分的语言可视化

来源: README.md41-473

特定语言学习路径

根据教程在仓库中的分布情况,我们可以为最广泛使用的语言定义推荐的学习路径。这些路径通常从简单的项目逐步进展到更复杂的项目。

C/C++学习路径

C和C++在系统级编程、图形和性能关键型应用方面特别强大。

推荐的C/C++项目顺序

  1. 初级: 简单正则表达式引擎或哈希表实现
  2. 初级中等: 文本编辑器或基础游戏(俄罗斯方块)
  3. 中级: 3D渲染器或模拟器/虚拟机
  4. 高级: 操作系统或容器系统(Docker)
  5. 专家: 物理引擎或自定义编译器

来源: README.md337-342 README.md186-202 README.md258-278

Python学习路径

Python教程涵盖广泛的应用,在数据处理、Web技术和机器学习方面具有优势。

推荐的Python项目顺序

  1. 初级: 命令行工具或简单Web服务器
  2. 中级: 数据库实现、简单游戏或机器人
  3. 高级: Web浏览器、神经网络或视觉识别系统
  4. 专家: 组合多个系统(例如,视觉识别与Web应用程序)

来源: README.md105-112 README.md139-140 README.md216-218 README.md250-256 README.md383-386 README.md396-397 README.md405-408

JavaScript/TypeScript学习路径

JavaScript和TypeScript教程专注于Web技术、前端框架和现代应用开发。

推荐的JavaScript/TypeScript项目顺序

  1. 初级: 模板引擎或简单游戏
  2. 中级: 前端框架组件或区块链
  3. 高级: 虚拟DOM实现或React/Redux克隆
  4. 专家: 全栈应用(组合多个已学习组件)

来源: README.md169-184 README.md209-214 README.md368-370 README.md77-94

Go学习路径

Go教程强调网络、系统工具和并发应用程序。

推荐的Go项目顺序

  1. 初级: 命令行工具(如lolcat, cowsay, fortune)
  2. 中级: 网络应用(BitTorrent客户端、区块链)
  3. 高级: 容器系统(Docker)或数据库实现
  4. 专家: 组合多个组件的分布式系统

来源: README.md118-122 README.md67-68 README.md77-79 README.md136-137 README.md147-148

Rust学习路径

Rust教程专注于系统编程、内存安全和性能关键型应用。

推荐的Rust项目顺序

  1. 初级: 命令行工具或Shell实现
  2. 中级: 浏览器引擎组件或游戏开发
  3. 高级: 操作系统或数据库实现
  4. 专家: 高性能分布式系统

来源: README.md124-126 README.md364 README.md276-277 README.md142 README.md221-222 README.md395

语言内部的跨类别学习

另一种特定语言学习方法是在特定领域内构建多个系统,所有这些系统都使用您偏好的语言。下表提供了在多个相关技术中具有强大代表性的语言示例

语言技术领域相关教程
C/C++图形与模拟3D渲染器 → 物理引擎 → 游戏引擎
Python数据与机器学习数据库 → 神经网络 → 视觉识别
JavaScriptWeb 技术模板引擎 → 前端框架 → SPA
Go网络与分布式Web服务器 → BitTorrent → 区块链
Rust系统编程CLI工具 → Shell → 操作系统

来源: README.md41-473

按难度划分的语言入口点

对于希望从符合其语言偏好和技能水平的项目开始的开发者,以下是按难度划分的入口点:

各语言的初学者友好项目

语言推荐的初学者项目
Python简单Web服务器、命令行工具、简单游戏
JavaScript模板引擎、简单游戏、DOM操作
Ruby文本编辑器、模板引擎、简单游戏
Go命令行工具(lolcat, cowsay, fortune)
C#简单游戏、文本编辑器
Rust命令行工具、简单文本编辑器
C正则表达式引擎、简单哈希表

来源: README.md116-126 README.md368-372 README.md209-214 README.md377-381 README.md337-342

各语言的高级项目

语言推荐的高级项目
C/C++操作系统、物理引擎、3D渲染器
Rust操作系统、浏览器引擎
Go容器系统(Docker)、数据库
Python神经网络、视觉识别系统、Web浏览器
JavaScript虚拟DOM实现、React/Redux克隆

来源: README.md258-278 README.md280-289 README.md147-150

结论

特定语言的学习路径允许开发者在探索不同的技术领域的同时,加深对特定编程语言的理解。通过遵循这些路径,您可以利用现有的语言知识,同时扩展在整个技术领域中构建系统的技能。

在选择下一个项目时,请同时考虑您的语言熟练程度和教程的复杂程度。从您偏好的语言中的简单项目开始,并逐步转向更复杂的系统,提供了一个结构化的学习旅程,它建立在您现有的优势之上。