Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/weizhiwen/the-road-to-programming

编程成长之路,站在巨人的肩膀上编程。(The path of programming growth,Standing on the shoulders of giants programming)
https://github.com/weizhiwen/the-road-to-programming

Last synced: 12 days ago
JSON representation

编程成长之路,站在巨人的肩膀上编程。(The path of programming growth,Standing on the shoulders of giants programming)

Awesome Lists containing this project

README

        

# 编程之路(The road to programming)
> 编程成长之路,站在巨人的肩膀上编程。
>
> The Road Of Programming Growth, Standing On The Shoulders Of Giants To Programme.

## 简介

本库旨在为学习编程的朋友铺好一条通向进步的道路。学习编程时,谁不是从一个小白到菜鸟再到更高的水平,慢慢成长的呢?

对于每个人来说,学习知识,不管文档也好,视频也好,整理是绝对是必不可少的,这些对日后大有帮助,知识不用就会遗忘,掌握检索知识的能力才是关键。

如今开源的世界里,我们不能只是索取,也要奉献自己的力量,让我们共同开辟出一条这样一条大道,这条道路有利于每个学习者去学习编程,这条道路的名字就暂且叫做 **编程之路** 吧!。

## 说明

本库分类的标准是语言,每种语言一个单独的目录,每个目录都只有一个 README.md 文件,整个仓库的目录大体为下面这样:

├── Java // Java 编程之路

├── Python // Python 编程之路

├── JavaScript // JavaScript 编程之路

├── ......

├── LICENSE // 本库遵守的协议

├── README.md // 本库的说明文件

每种语言的学习内容放在 README.md 文件中,并按照以下的阶段进行模糊分类:

1、小白阶段(只针对学习某种语言)

- 书籍(适合没有任何编程经验的小白读的书籍,如《编程小白的第一本python入门书》这样的)
- 文档(一些入门的学习文档,如介绍这门语言的特点的博客,文章等等)
- 视频(适合初学者看的视频,视频最好免费)

2、菜鸟阶段(学习完语言后的学习方向)

- 书籍
- 文档
- 工具(好用的工具,如 IDE、语言相关的库、包等等)
- 项目(较为简单容易上手的项目)

3、小工阶段(某个学习方向后的应用)

- 书籍(比较适合进阶和深入学习的书籍)
- 文档
- 框架(好用的框架)
- 项目(大型的项目)

4、面试

- 面试题
- 面试总结
- 面试经验

5、其他(不知道放在哪个阶段好)

- 书籍
- 文档
- 工具
- 框架
- 项目
- 网站

6、解决问题(解决你问题的网站链接)

- 问题

**上面的分类方式肯定不是最好的,采用模糊分类也是说这只是个大致的分类,无法分类的内容就放到其他中吧,另外如果视频书籍过于老旧,使用删除线表明。每项内容如果是包含具体的网址,请在网址前面加上必要的说明。如果包含某些资料,如电子书,可在语言文件夹下面新建对应的文件夹存放,大小不要超过10M,可以放个云盘的链接。**

当然内容肯定不能仅对于语言本身的,如 Java,也分 Java Web 编程和 Java 界面编程,Python 也有爬虫、自动测试不同的方向,所以每个阶段的学习内容也是不一样的。

小白阶段:主要是学习语言本身,如语言语法,面向对象编程等等。这个阶段更注重学习基础知识,不涉及太实际的应用。

菜鸟阶段:不仅还要深入学习语言的高级特性,夯实基础,还需要选择具体的学习方向,也就是具体的应用,如 Web 方向还是客户端方向,每个方向也都是按照上面的 书籍、文档、工具、项目来划分。

小工阶段:对于某个学习的方向进行强化,如学习一些流行的框架,也可以是自己编写一些库、框架等,这个阶段是学习者最漫长的阶段,越学就越会感觉到不仅仅一门语言和技术的问题,还有一些内功需要加强,如算法,网络知识等等。

面试:学习一门语言,一门技术,很实际的原因是工作和 Money,面向工资编程是很实际的,而且面试是最能检验学习水平的方式,通过面试题可以发现自己的不足之处,及时弥补强化,写写总结,当然面试经验也是至关重要的。

其他:对于上面三个阶段选择不好的,可以暂时先放在其他部分,以后在向不同的阶段添加。

解决问题:遇到问题时,我们最先想到的是上网搜索,可以把解决问题的博客,资料放在此处,当然也可以是你写的,注意写清问题的描述,加上对应的网址链接。

## 最后

随着时代的发展,知识和技术总会被更新和淘汰的,比如在解决一个问题时,不同的版本是会有差异的,倘若拿着过时的解决方法去做,肯定是行不通的。还有就是没有最好,只有更好,说明同一个问题的博客,也因作者的技术水平和写作水平有差异,在很明显可以对比出差异的博客,选择更好的那个无疑可以节省时间,所以不断的修改是需要的,最后,欢迎各位 fork 仓库,提出 issue 和 发起 pull request。