C++|适合 C++ 新手学习的开源项目——在 GitHub 学编程


C++|适合 C++ 新手学习的开源项目——在 GitHub 学编程
文章图片
C++|适合 C++ 新手学习的开源项目——在 GitHub 学编程
文章图片
作者:HelloGitHub-小鱼干
俗话说:万事开头难 , 学习编程也是一样 。 在 HelloGitHub 的群里 , 经常遇到有小伙伴询问编程语言如何入门方面的问题 , 如:

  • 我要学习某一门编程语言 , 有什么开源项目可以推荐吗?
  • 我是某编程语言的新手 , 有什么练手的项目推荐吗?
  • 等等
See , 这就是本系列文章的由来 , 我们希望学习各类编程语言的同学们 , 读(Mark)完我们的入门系列 , 可以找到学习的方向、系统地学习某一门语言 , 然后做个简单的小玩意 , 不只是 Hello World。
《GitHub 上适合编程入门的项目》系列 , 共计 5 篇文章:
  1. C++ 篇
  2. Python 篇
  3. Go 篇
  4. Java 篇
  5. JavaScript 篇
以下为 C++ 篇 的内容 。 不管哪门编程语言 , 基础都是很重要的 。 所以我们要先从基本的语法和基础知识学习学起 , 一步步掌握这门语言 。
一、基础1.1 一个项目入门 C++ 足以:CPlusPlusThingsCPlusPlusThings 是国人开源一个 C++ 学习项目 。 它系统地将 C++ 学习分为了【基础进阶】、【实战系列】、【C++2.0 新特性】、【设计模式】和【STL 源码剖析】、【并发编程】、【C++ 惯用法】、【学习课程】、【工具】、【拓展】 。
作为一个全面系统的 C++ 学习项目 , CPlusPlusThings 是优秀的 , 它合理地安排了 10 Days 的实战部分 , 在实战中了解语法和函数用法 , 唯一不足的是 , 在注释部分有些不尽人意 , 对部分新手程序员并不是很友好 。 【基础进阶】部分内容:
  • const 那些事
  • static 那些事
  • decltype 那些事
  • 引用与指针那些事
  • 宏那些事
1.2 基础部分之算法:C-Plus-Plus【C++|适合 C++ 新手学习的开源项目——在 GitHub 学编程】C-Plus-Plus 是收录用 C++ 实现的各种算法的集合 , 并按照 MIT 许可协议进行授权 。 这些算法涵盖了计算机科学、数学和统计学、数据科学、机器学习、工程等各种主题 。 除外 , 你可能会发现针对同一目标的多个实现使用不同的算法策略和优化 。
二、进阶2.1 现代 C++:modern-cpp-tutorialmodern-cpp-tutorial 是现代 C++ 教程 , 它的目的是提供关于现代 C++(2020 年前)的相关特性的全面介绍 。 除了介绍了代码之外 , 它还尽可能简单地介绍了其技术需求的历史背景 , 这对理解为什么会出现这些特性提供了很大的帮助 。
2.2 进阶指南:CppTemplateTutorialCppTemplateTutorial 为中文的 C++ Template 的教学指南 。 与知名书籍 C++ Templates 不同 , 该系列教程将 C++ Templates 作为一门图灵完备的语言来讲授 , 以求帮助读者对 Meta-Programming 融会贯通 。 本项目写作初衷 , 就是通过 “编程语言” 的视角 , 介绍一个简单、清晰的 “模板语言” 。 我会尽可能地将模板的诸多要素连串起来 , 用一些简单的例子帮助读者学习这门 “语言” , 让读者在编写、阅读模板代码的时候 , 能像 if(exp) { dosomething();一样的信手拈来 , 让 “模板元编程” 技术成为读者牢固掌握、可举一反三的有用技能 。
适合熟悉 C++ 的基本语法、使用过 STL、熟悉一些常用的算法 , 以及递归等程序设计方法的 C++ 学习者阅读 。 虽然项目章节文章写的深入浅出 , 不过唯一的遗憾是尚未完成所有章节内容 。 进度如下: