本文档根据您偏好的编程语言,提供在 Build Your Own X 仓库中导航的指南。这些路径允许开发者构建各种系统,同时保持在他们选择的语言范围内,而不是遵循基于技术的学习路径(在新手路径和高级项目指南中涵盖)。这种方法对于希望在探索不同技术领域的同时加深对特定语言的了解的人特别有用。
来源: README.md10-37
在深入了解特定语言路径之前,了解编程语言在仓库中的分布情况很重要。虽然仓库主要按技术类别组织教程,但每个教程都是用一种或多种编程语言实现的。
下表显示了仓库中主要的编程语言及其在教程类别中的大致分布
| 语言 | 类别数量 | 显著优势 |
|---|---|---|
| C/C++ | 17 | 操作系统、3D渲染器、模拟器 |
| Python | 15 | 神经网络、Web服务器、数据库 |
| JavaScript | 13 | 前端框架、区块链、游戏 |
| Go | 9 | 命令行工具、网络栈、Docker |
| Rust | 8 | 操作系统、Web浏览器、CLI工具 |
| Ruby | 7 | 模板引擎、Git、文本编辑器 |
| Java | 5 | 3D渲染器、游戏、Android应用 |
| C# | 5 | 游戏、增强现实、神经网络 |
| TypeScript | 4 | 区块链、前端框架 |
| Haskell | 3 | Git、编程语言 |
来源: README.md41-473
来源: README.md41-473
根据教程在仓库中的分布情况,我们可以为最广泛使用的语言定义推荐的学习路径。这些路径通常从简单的项目逐步进展到更复杂的项目。
C和C++在系统级编程、图形和性能关键型应用方面特别强大。
推荐的C/C++项目顺序
来源: README.md337-342 README.md186-202 README.md258-278
Python教程涵盖广泛的应用,在数据处理、Web技术和机器学习方面具有优势。
推荐的Python项目顺序
来源: README.md105-112 README.md139-140 README.md216-218 README.md250-256 README.md383-386 README.md396-397 README.md405-408
JavaScript和TypeScript教程专注于Web技术、前端框架和现代应用开发。
推荐的JavaScript/TypeScript项目顺序
来源: README.md169-184 README.md209-214 README.md368-370 README.md77-94
Go教程强调网络、系统工具和并发应用程序。
推荐的Go项目顺序
来源: README.md118-122 README.md67-68 README.md77-79 README.md136-137 README.md147-148
Rust教程专注于系统编程、内存安全和性能关键型应用。
推荐的Rust项目顺序
来源: README.md124-126 README.md364 README.md276-277 README.md142 README.md221-222 README.md395
另一种特定语言学习方法是在特定领域内构建多个系统,所有这些系统都使用您偏好的语言。下表提供了在多个相关技术中具有强大代表性的语言示例
| 语言 | 技术领域 | 相关教程 |
|---|---|---|
| C/C++ | 图形与模拟 | 3D渲染器 → 物理引擎 → 游戏引擎 |
| Python | 数据与机器学习 | 数据库 → 神经网络 → 视觉识别 |
| JavaScript | Web 技术 | 模板引擎 → 前端框架 → 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
特定语言的学习路径允许开发者在探索不同的技术领域的同时,加深对特定编程语言的理解。通过遵循这些路径,您可以利用现有的语言知识,同时扩展在整个技术领域中构建系统的技能。
在选择下一个项目时,请同时考虑您的语言熟练程度和教程的复杂程度。从您偏好的语言中的简单项目开始,并逐步转向更复杂的系统,提供了一个结构化的学习旅程,它建立在您现有的优势之上。