Skip to content

Latest commit

 

History

History
44 lines (22 loc) · 2.96 KB

ability_task_driven.md

File metadata and controls

44 lines (22 loc) · 2.96 KB

实例驱动学习

在知识爆炸的年代, 想成为一个好的程序员, 要具备这样一个精神:

开发者精神

开发者精神是指, 从学习编程第一天起, 你的目标, 你所做的事, 永远不是以要学会XX为目标, 而是以开发出XX为目标, 深刻意识到你学习的一切, 最终是为了你的开发而服务的。

而开发者精神的反面则是学生气:

学生气

从学习编程的第一天起, 就把自己当学生, 上课听讲记笔记为第一位, 记忆知识点为第一位, 买教材读教材为第一位, 追求学会XX, 而不是用它开发出XX

我们举个例子, 假如你要学习Java,学生气的学生行为模式:

读教材, 听课, 记笔记, 追求把这个语言的每个知识点都记得很清楚, 追求一种"内功"的修炼, 在这个过程中, 从来不想着用它去"创造"什么. 在学习的第一天起, 他给自己定下了一个目标:

"我这个学期一定要把这个语言的基础打牢, 最后在考试中取得高分, 并且为以后的学习提供更坚实的基础."

那么具有开发者精神的人会这样做:

先大体了解一下Java语言在哪些领域比较强势, 做一个简单的调研, 得出了Java在Web领域很强势这一个信号, 于是在学习Java的第一天起, 他就给自己定下了一个目标: 

"我要在半年内通过学习Java, 运用Java做出一个中小型的, 基于Web的企业管理后台"

这两种人, 起点都一样, 都是完全不会Java, 但是最后的结果往往是, 后者无论是知识熟练度还是实用性都会超过前者, 而且整个学习过程会有源源不断地动力.

夯实基础这个目标, 其实是空洞的, 什么叫做夯实? 什么叫做基础? 而且就算你真的夯实了基础, 你也极有可能陷入一种虚无感中, 因为你的所有知识, 都会遗忘.

这就是为什么很多计算机专业学生很爱问的一个问题:

"学了这么多知识, 忘了怎么办?"

如果你具备开发者精神, 那么你根本不会理会这个问题, 因为, 你开发出的东西, 你做出的产品, 它就是永久存在在这个世界上的, 你的成就感来源于真实的, 具体的, 可持久延续的项目中, 而不是来源于"我学会了什么".

我们一定要明白:

一切不谈成就感, 不谈反馈的学习劝导, 都是在耍流氓

既然我们想获得反馈, 那么一个很现实的建议就是, 在Github上创建你的第一个开源代码仓库, 长期地, 稳定地commit, 当然, 至于这个仓库到底是干啥的, 这个因人而异, 有可能是你自己开发的一个VScode插件, 有可能是你自己写的读书笔记, 在这个不断地commit的过程中, 感受你的代码仓库不断增长不断完善的过程中, 你会获得一个比较持久的反馈和成就感, 一旦有了反馈和成就感, 那么你的学习动力就会一直保持, 也可以从学习中获得快乐.

记住, 你不是学生, 你是开发者.