mirror of
https://github.com/salmer/CppDeveloperRoadmap.git
synced 2025-12-16 20:17:07 +03:00
doc: modify some translate questions
This commit is contained in:
committed by
Dmitrii Dmitriev
parent
fe417abaf1
commit
7fa4382144
@@ -2,11 +2,11 @@
|
||||
|
||||
C++ 仍然是 [2021年](https://insights.stackoverflow.com/survey/2021#most-popular-technologies-language-prof) 和 [2022年](https://survey.stackoverflow.co/2022/#most-popular-technologies-language-prof) 中最受欢迎的开发语言之一。有很多人想开始学习 C++ 并成为开发者。他们面临着这些问题:“我应该从哪里开始?我应该按照什么顺序学习?我应该读哪些书?”
|
||||
|
||||
我们试图通过提供的路线图来回答这些问题。路线图侧重于大多数项目中常见的通用能力和技能。它旨在帮助那些刚开始教育或经验有限的人士。如果您学习了列出的材料,就可以创建一个更有效的学习计划,而不会被无关信息分心。它将帮助您掌握 C++ 在许多商业项目中普遍使用的水平。
|
||||
我们试图通过提供的路线图来回答这些问题。路线图侧重于大多数项目中常见的通用能力和技能。它旨在帮助那些刚开始教育或经验有限的人士。如果您学习了列出的材料,就可以创建一个更有效的学习计划,而不会被无关信息分心。它将帮助您达到 C++ 在许多商业项目中普遍使用的水平。
|
||||
|
||||
建议在开始探索地图之前阅读下面列出的文章。
|
||||
|
||||
# :bookmark_tabs: 文章
|
||||
## :bookmark_tabs: 文章
|
||||
|
||||
1. :flashlight: [为什么创建了这个路线图以及其目标是什么?](Rationale.md)
|
||||
2. :mag: [你确定需要了解 C++ 吗?](SelfIdentification.md)
|
||||
@@ -20,8 +20,7 @@ C++ 仍然是 [2021年](https://insights.stackoverflow.com/survey/2021#most-popu
|
||||
10. :books: [工具](Tooling.md)
|
||||
11. :books: [更多的 C++ 资源/社区等](CommunitySources.md)
|
||||
|
||||
|
||||
# :milky_way: 路线图
|
||||
## :milky_way: 路线图
|
||||
|
||||
路线图提供以下格式:
|
||||
|
||||
@@ -30,16 +29,18 @@ C++ 仍然是 [2021年](https://insights.stackoverflow.com/survey/2021#most-popu
|
||||
|
||||
有关如何查看和编辑graphML文件的说明,请参见[此处](English/Graph/README.md)。
|
||||
|
||||
# :key: 许可证和条件
|
||||
该路线图根据许可证**CC BY-NC-SA 4.0**发布:[RUS](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.ru)|| [ENG](https://creativecommons.org/licenses/by-nc-sa /4.0/deed.en)。简而言之:
|
||||
## :key: 许可证和条件
|
||||
|
||||
- 只有在提供原始来源链接时,您才可以共享、采用或复制所呈现材料的任何部分。
|
||||
- **禁止**将任何部分材料用于任何商业目的。
|
||||
该路线图根据许可证**CC BY-NC-SA 4.0**发布:[中文](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)|| [ENG](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.en)。简而言之:
|
||||
|
||||
# :mailbox: 反馈与沟通
|
||||
* 只有在提供原始来源链接时,您才可以共享、采用或复制所呈现材料的任何部分。
|
||||
* **禁止**将任何部分材料用于任何商业目的。
|
||||
|
||||
## :mailbox: 反馈与沟通
|
||||
|
||||
如果有任何评论、建议或想法,请随时与我们联系。我们非常重视您的支持。
|
||||
|
||||
您可以通过Github中的以下渠道之一联系我们:
|
||||
- 如果对存储库内容进行任何建议或修改 - 在[Pull Requests](https://github.com/salmer/CppDeveloperRoadmap/pulls)中创建新PR
|
||||
- 如果对存储库内容进行任何建议或修改 - 在[Issues](https://github.com/salmer/CppDeveloperRoadmap/issues)中提交新问题。(不幸的是,Miro框架没有历史跟踪器并且无法访问路线图。所有更改都是在审核和批准后手动添加)
|
||||
|
||||
* 如果对存储库内容进行任何建议或修改 - 在[Pull Requests](https://github.com/salmer/CppDeveloperRoadmap/pulls) 中创建新PR
|
||||
* 如果对存储库内容进行任何建议或修改 - 在[Issues](https://github.com/salmer/CppDeveloperRoadmap/issues)中提交新问题。(不幸的是,Miro框架没有历史跟踪器并且无法访问路线图。所有更改都是在审核和批准后手动添加。)
|
||||
|
||||
@@ -2,18 +2,18 @@
|
||||
|
||||
首先要考虑的是:为什么想要学习C++?
|
||||
|
||||
这门语言有特定的应用领域,了解它们在深入学习C++之前非常重要。研究和探索这些领域可以更好地理解你所涉及到的内容。以下是一些值得事先进行研究的例子:
|
||||
这门语言有特定的应用领域,在深入学习C++之前,了解它们非常重要。研究和探索这些领域可以更好地理解你所涉及到的内容。以下是一些值得事先进行研究的例子:
|
||||
|
||||
- 某些开发领域可能与你预期不同。例如,游戏开发可能会面临许多挑战,如加班时间、管理不善以及按工作量付费等情况。
|
||||
- 你感兴趣的语言可能并不是某个特定领域中最流行的语言。例如,在机器学习中,Python及其专业库是最常用的。
|
||||
|
||||
# :question: 我已经知道了C/C#/Java/Python等编程语言,我能直接使用C++开始工作吗?
|
||||
## :question: 我已经知道了C/C#/Java/Python等编程语言,我能直接使用C++开始工作吗?
|
||||
|
||||
答案既是肯定也是否定 :)
|
||||
|
||||
具备计算机科学概念方面基本理解当然会很有帮助,比如理解过程式编程、OOP和其他通用知识等。但不能仅依赖于这些概念。初学者最常见错误就是试图将其他编程语言范式下写出来的代码套用到 C++ 中去。例如, C 开发人员经常以过程化风格编写 C ++ 程序或认为 C ++ 只是“带类”的 C。
|
||||
具备计算机科学概念方面基本理解当然会很有帮助,比如理解过程式编程、OOP和其他通用知识等。但不能仅依赖于这些概念。初学者最常见的错误就是试图将其他编程语言范式下写出来的代码套用到 C++ 中去。例如, C 开发人员经常以过程化风格编写 C++ 程序或认为 C++ 只是“带类”的 C。
|
||||
|
||||
C ++ 富含思想和编码方法, 因此建议您以开放心态开始学习该语言. 尽力去理解它背后蕴含着哪些思想, 这将有助于您在工作任务中有效地使用该语言. 其他编程语言方面知识可帮助您进行比较并确定它们各自优缺点.
|
||||
C++ 富含思想和编码方法, 因此建议您以开放心态开始学习该语言. 尽力去理解它背后蕴含着哪些思想, 这将有助于您在工作任务中有效地使用该语言。 其他编程语言方面的知识可以帮助您进行比较并确定它们各自优缺点。
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# :triangular_ruler: 语言工具包
|
||||
|
||||
新手开发者通常对于可用的工具有限的了解,这些工具可以使编写代码更加容易、提高效率并防止许多错误。这些工具不是解决语言可能出现的困难的万能药,但它们可以显著地平滑掉粗糙的边缘。以下是全球开发人员公认的常见和流行工具列表,但这只是其中一小部分。随着时间推移,您将会更加熟悉这些工具,并发现适合自己需求的新工具。
|
||||
新手开发者通常对于可用的工具了解有限,这些工具可以使编写代码更加容易、提高效率并防止许多错误。这些工具不是解决语言可能出现的困难的万能药,但它们可以化腐朽为神奇。以下是全球开发人员公认的常见和流行的工具列表,但这只是其中一小部分。随着时间推移,您将会更加熟悉这些工具,并发现适合自己需求的新工具。
|
||||
|
||||
## :page_facing_up: 文本编辑器
|
||||
|
||||
@@ -18,33 +18,31 @@
|
||||
|
||||
价格:免费
|
||||
|
||||
轻量级文本文件和源代码编辑器支持常见编程语言语法高亮显示功能。相比于 Visual Studio Code ,它更方便快速打开和查看文件,并且由于其轻量级设计,在处理大量文本文件时非常舒适。
|
||||
轻量级文本文件和源代码编辑器。支持常见编程语言语法高亮显示功能。相比于 Visual Studio Code ,它更方便快速打开和查看文件,并且由于其轻量级设计,在处理大量文本文件时非常舒适。
|
||||
|
||||
## :open_file_folder: IDE(集成开发环境)
|
||||
|
||||
* :arrow_forward: **Microsoft Visual Studio IDE**
|
||||
|
||||
网址:https://visualstudio.microsoft.com
|
||||
|
||||
|
||||
价格:社区版免费
|
||||
|
||||
来自 Microsoft 的集成开发环境(IDE),提供了一套全面性质包含了各种程序设计语言以及跨平台开发所需要用到得编码器、编译器、调试器以及分析仪等等 。对初学者来说是一个很好选择, 因为其现代界面用户友好且无需在初始状态下进行过多自定义设置。
|
||||
|
||||
* :arrow_forward: **Qt Creator IDE**
|
||||
|
||||
网址:https://www.qt.io/product/development-tools
|
||||
|
||||
价格 :针对 开放源码项目 免费 (详细信息请参考 [Qt Open Source](https://www.qt.io/download-open-source?hsCtaTracking=9f6a2170-a938-42df-a8e2-a9f0b1d6cdce%7C6cb0de4f-9bb5-4778-ab02-bfb62735f3e5))
|
||||
|
||||
最初 Qt Creator 是作为 C++ 应用程序图形界面开发IDE而定位. 随着时间推移, 框架已经获得了众多功能并演变成跨平台应用程序综合生态系统. 它提供了广泛基础库原件以满足各种需求, 如网络连接, 图形接口, 数据库操作 和 处理像图片或文本格式之类流行格式. 如今 Qt Creator 成为 Visual Studio 的竞争对手,并特别受到创建适用于各种 Linux 发行版应用程序 的 开发人员欢迎.
|
||||
来自 Microsoft 的集成开发环境(IDE),提供了一套全面的工具,包含各种程序设计语言以及跨平台开发所需要用到得编码器、编译器、调试器以及分析仪等等 。对初学者来说是一个很好选择, 因为其拥有友好的界面,并且初始状态下不需要进行过多的自定义设置。
|
||||
|
||||
* :arrow_forward: **Qt Creator IDE**
|
||||
|
||||
网址:https://www.qt.io/product/development-tools
|
||||
|
||||
价格 :开放源码项目免费 (详细信息请参考 [Qt Open Source](https://www.qt.io/download-open-source?hsCtaTracking=9f6a2170-a938-42df-a8e2-a9f0b1d6cdce%7C6cb0de4f-9bb5-4778-ab02-bfb62735f3e5))
|
||||
|
||||
最初 Qt Creator 是作为 C++ 应用程序图形界面开发IDE而定位. 随着时间推移, 框架已经拥有了众多功能并演变成跨平台应用程序的综合生态系统。 它提供了广泛基础库原件以满足各种需求, 如网络连接, 图形接口, 数据库操作和处理像图片或文本格式之类流行格式。如今 Qt Creator 成为 Visual Studio 的竞争对手,并特别受到创建适用于各种 Linux 发行版应用程序的开发人员的欢迎。
|
||||
|
||||
* :arrow_forward: **Eclipse IDE**
|
||||
Eclipse是一个功能强大的跨平台开发环境,但也相当沉重。 Eclipse的关键特性之一是其模块化。 Eclipse的哲学是任何开发人员都可以通过连接其他扩展来修改开发环境以适应他们的需求。 它被某些编译器开发人员用作专门针对OS或微控制器(例如QNX实时操作系统,Red-Hat Linux等)的基础。
|
||||
|
||||
|
||||
* :arrow_forward: **JetBrains Clion IDE**
|
||||
Clion是来自JetBrains公司的强大跨平台IDE。与其他IDE一样,它提供了全面的工具集,方便软件开发,并且非常适合C和C ++中进行跨平台开发。
|
||||
Clion是来自JetBrains公司的强大跨平台IDE。与其他IDE一样,它提供了全面的工具集,方便软件开发,并且非常适合C和C++中进行跨平台开发。
|
||||
|
||||
## :flashlight: 扩展
|
||||
|
||||
@@ -53,12 +51,10 @@
|
||||
|
||||
* :arrow_forward: **Visual Assist**
|
||||
|
||||
Site: https://www.wholetomato.com
|
||||
网址:https://www.wholetomato.com
|
||||
|
||||
一个为微软Visual Studio提供额外功能的扩展,如增强代码高亮和提示、调试和编码期间增加信息、高级搜索能力以及改进的项目导航。它与JetBrains ReSharper竞争。
|
||||
|
||||
|
||||
|
||||
* :arrow_forward: **Incredibuild**
|
||||
|
||||
Site: https://www.incredibuild.com
|
||||
@@ -73,8 +69,7 @@
|
||||
|
||||
价格: 免费
|
||||
|
||||
一个跨平台的自动化系统,用于从源代码构建应用程序,并生成必要的工件以便在目标平台上进行后续组装。它目前被认为是构建各种库时作为源码提供时的标准工具。
|
||||
|
||||
一个跨平台的自动化系统,用于从源代码构建应用程序,并生成必要的工件以便在目标平台上进行后续组装。它目前被认为是从源码构建各种库时的标准工具。
|
||||
|
||||
* :arrow_forward: **Conan**
|
||||
|
||||
@@ -82,9 +77,7 @@
|
||||
|
||||
价格: 免费
|
||||
|
||||
一个用于组织C++库和框架的软件包管理器和依赖项管理器。它支持在Windows和Linux等各种平台上工作,并与CMake和Visual Studio等工具集成。"
|
||||
|
||||
|
||||
一个用于组织C++库和框架的软件包管理器和依赖项管理器。它支持在Windows和Linux等各种平台上工作,并与CMake和Visual Studio等工具集成。
|
||||
|
||||
* :arrow_forward: **Ninja**
|
||||
|
||||
@@ -92,8 +85,7 @@
|
||||
|
||||
价格: 免费
|
||||
|
||||
PC和C++应用程序的项目构建管理器。该管理器的主要优点是快速项目组装。它支持跨平台开发,并与所有流行的编译器兼容。"
|
||||
|
||||
PC和C++应用程序的项目构建管理器。该管理器的主要优点是快速项目组装。它支持跨平台开发,并与所有流行的编译器兼容。
|
||||
|
||||
## :mag: Code analyzers
|
||||
|
||||
@@ -103,9 +95,7 @@
|
||||
|
||||
价格: 30 天免费试用
|
||||
|
||||
由PVS-Studio开发的跨平台(Windows、Linux、MacOS)静态代码分析器。该分析器的主要目标是对源代码进行分析,以检测编译器或代码审查期间可能未被发现的各种错误。它有助于减少与语言语法和陷阱相关的错误数量。"
|
||||
|
||||
|
||||
由PVS-Studio开发的跨平台(Windows、Linux、MacOS)静态代码分析器。该分析器的主要目标是对源代码进行分析,以检测编译器或代码审查期间可能未被发现的各种错误。它有助于减少与语言语法和陷阱相关的错误数量。
|
||||
|
||||
* :arrow_forward: **Cpp Check**
|
||||
|
||||
@@ -115,8 +105,6 @@
|
||||
|
||||
一个免费的代码分析器,可以帮助您捕捉编译器或代码审查期间可能被忽略的源代码中常见错误。它是跨平台的,并支持流行的Linux发行版和Windows。
|
||||
|
||||
|
||||
|
||||
* :arrow_forward: **Valgrind**
|
||||
|
||||
Site: https://www.valgrind.org
|
||||
@@ -135,7 +123,6 @@
|
||||
|
||||
一个完整的、跨平台的用于处理Git仓库的工具。开箱即用,提供以下功能:接收和发送对仓库的更改,查看更改历史记录,文本编辑器以解决冲突等。支持与所有流行的代码托管服务集成,如GitHub、BitBucket、GitLab等。
|
||||
|
||||
|
||||
* :arrow_forward: **Atlassian SourceTree**
|
||||
|
||||
网址: https://www.sourcetreeapp.com/
|
||||
@@ -144,8 +131,6 @@
|
||||
|
||||
一个很好的免费替代品,使用图形界面来处理Git。它具有与SmartGit相同的功能,唯一不同之处是没有自己的编辑器用于冲突解决。但是,可以通过集成Visual Studio Code或任何其他可以比较文件的编辑器轻松解决此问题。在所有其他方面,它完全复制了SmartGit的功能:跨平台,并支持与流行存储库(如GitHub、BitBucket、GitLab等)集成。"
|
||||
|
||||
|
||||
|
||||
* :arrow_forward: **Git Kraken**
|
||||
|
||||
网址: https://www.gitkraken.com/
|
||||
@@ -154,7 +139,6 @@
|
||||
|
||||
一款跨平台高效的客户端,适用于Windows、Linux和MacOS。它支持与GitHub、Bitbucket和Gitlab集成,并具有日常工作所需的所有必要功能,如查看更改历史记录、提交和接收更改、在分支之间切换以及内置冲突解决编辑器。"
|
||||
|
||||
|
||||
---
|
||||
|
||||
[**回到主页**](README.md)
|
||||
|
||||
Reference in New Issue
Block a user