C++|适合 C++ 新手学习的开源项目——在 GitHub 学编程
文章图片
文章图片
作者:HelloGitHub-小鱼干
俗话说:万事开头难 , 学习编程也是一样 。 在 HelloGitHub 的群里 , 经常遇到有小伙伴询问编程语言如何入门方面的问题 , 如:
- 我要学习某一门编程语言 , 有什么开源项目可以推荐吗?
- 我是某编程语言的新手 , 有什么练手的项目推荐吗?
- 等等
《GitHub 上适合编程入门的项目》系列 , 共计 5 篇文章:
- C++ 篇
- Python 篇
- Go 篇
- Java 篇
- JavaScript 篇
一、基础1.1 一个项目入门 C++ 足以:CPlusPlusThingsCPlusPlusThings 是国人开源一个 C++ 学习项目 。 它系统地将 C++ 学习分为了【基础进阶】、【实战系列】、【C++2.0 新特性】、【设计模式】和【STL 源码剖析】、【并发编程】、【C++ 惯用法】、【学习课程】、【工具】、【拓展】 。
作为一个全面系统的 C++ 学习项目 , CPlusPlusThings 是优秀的 , 它合理地安排了 10 Days 的实战部分 , 在实战中了解语法和函数用法 , 唯一不足的是 , 在注释部分有些不尽人意 , 对部分新手程序员并不是很友好 。 【基础进阶】部分内容:
- const 那些事
- static 那些事
- decltype 那些事
- 引用与指针那些事
- 宏那些事
二、进阶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++ 学习者阅读 。 虽然项目章节文章写的深入浅出 , 不过唯一的遗憾是尚未完成所有章节内容 。 进度如下: