编程是一场漫长的修行

在这里,以文字的方式记录某些东西,不为了缅怀过去,或者展望未来,以此写给走在coding路上的我,也期待与君共勉。                          文/ 阿飞

问题漫谈 
我曾不止一次的被问到这个问题,怎样学习编程?如何学好编程?当你问这样的问题时,我想你一定是经过思考的,内心有冲动有激情的,或者至少有踏上这条贼船的意图(当然也不排除是无奈之举),才会在我这里里探探口风听听拙言,我就想问问你,你为什么要学习编程?为什么?   

然而,在更多的一种情况下,总是有这样永恒的话题,要不要学习这个?要不要做程序员?要不要从事IT行业?学什么比较好?我不喜欢搞这个?我不知道要搞什么?对于这些问题,一直以来我都不知道该怎么回答,所以词穷,只好沉默,或者敷衍,抑或隔靴搔痒泛泛而论,其实最重要的是怕误人子弟,后来,我就想这些问题是不是我们面对未知的未来,不确定的状况,多样的选择的一种担心,一种天生的恐惧感,在这样的情况下,我们总是希望能找到最优的决策方案,然而,我们自己又缺乏判断能力,我们就希望别人能给我做出抉择,什么才是通途,当我这样想的时候,我就更不敢探讨这些问题的答案了,现实的世界中,错综复杂的外部环境,独一无二的芸芸众生,一些路对于某些人受用无穷,对于另外一些人可能是毒害终生,任何人每一次讲出自己的观点时都是站在一个自己的立场上,即使换位思考也容易变成以己度人。

刘未鹏在 怎样花两年时间去面试一个人 里面就提到,"他们往往很想学点东西,但又不知道哪些重要哪些不重要,到底该学到什么程度,不知道导致不确定,不确定导致决策瘫痪,干脆嘛也不动,荒废时间”,不知道有多少人有这种状态?这在心理学上称为等死模式-------当一个人等待与拖延的成本,远远高于他真正开始行动所需要的成本,他就会慢慢陷入越等待越不行动的怪圈。我相信很多人都会有很多想法,但是遇到困惑之后很多人就会像牢笼里面的困兽一样踱来踱去,最后残存的那点激情在时光的打磨中消耗殆尽。当你想学习什么的时候,果断的去,走出你心中的胡同,否则的话,你只会让情况越来越糟。一旦你开始了之后,你停都停不下来了,这就是我们所说的习惯,这样形成良性循环,你就会走出自己的死胡同。接下来你会发现你前面的这些问题都不是问题。接下来你就知道什么是需要解答的问题,当然,问问题也是一种艺术,在问一个问题的时候,你要知道你的问题是什么,是什么导致你会有这样的问题,问题背后的深层原因是什么,你才能得到自己想要的答案。

元学习能力
在《纯粹理性批判》中康德的批判哲学观点是“思维无内容则空,直观无概念则盲“。 当你不知道看什么的时候,你是看不到什么的,那么这样一个道理放在这里同样适用,当你不知道学什么的时候,你是学不到什么的,当你不知道学什么的时候,学习如何去学习就显得异常重要了,这就是我们所谓的元学习能力。那么何为元? 在英语里面是meta,意义是关于什么的什么,在戏剧里是剧中剧,在文学里面就是故事中的故事,在编程的世界里面是元编程,在认知科学里面就是元认知(即Swartz和Perkins提出的"cognition about cognition", "knowing about knowing"),元认知通过自省来实现,衍生自他们多年学习经验里对于自我认知的相关实证,以及运用的情境来不断进行思路的调整,自省让我们一层层的剥去浮华,直达事物的本质与抽象,当你幽静探秘之时,你会发现看似不相关的东西背后的奥秘却是如此的一致,你自然而然会明白任何东西并非空穴来风,而是如此的理所当然。这从某个层面上就可以解释为什么一个人在一个领域里面很出色,到另外一个新的领域他会同样做得很好。当你不知道的时候,你更可能的一种情况是不知道自己不知道,思辨地去看待问题,去寻找知识背后的本质与脉络,知识的本质是什么,隐藏着怎样的设计哲学,知识的系统结构是怎么样的。
     走在任何一条路上,其实你并不孤独,因为世上并没有路,走的人多了,也就成了路。你碰到的问题,你的困惑,你的迷茫肯定会有前人遇到,有着互联网这样巨大的宝库,你为什么不自己寻找答案呢?这么浩瀚的图书,你为什么不去查找?等着别人给你答案,你知道正是你独一无二的经历,构成了你独一无二的特质,造就了独一无二的你。

刻意练习
自从佛罗里达大学心理学家 K. Anders Ericsson首次提出“刻意练习”这个概念,天才来自于刻意练习:大量重复训练和持续获得有效的反馈,现在逐渐的被广泛接受,这套练习方法的核心假设是,专家级水平是逐渐地练出来的,而有效进步的关键在于找到一系列的小任务让受训者按顺序完成。这些小任务必须是受训者正好不会做,但是又正好可以学习掌握的。
在《影响力2》《哪来的天才》《一万小时天才理论》异类等一类书中都在倡导刻意练习的理念,刻意练习的背后的天才理论是"练习一万小时成天才",《一万小时天才理论》中更绝,"一万小时的法则的关键在于:没有例外之人。没有人仅用3000小时就能达到世界级水准;7500小时也不行;一定要10000小时——10年,每天3小时——无论你是谁。 如果我们想最大化自身的潜能,所有人都需要精深的练习。无论你想构建什么类型的才能,都要遵循同样的路径。要成为你想成为的人,你就必须走上这条路。 错误是信息,我们不应该忽视错误或试图忘记它们,因为它们为我们指出了道路所在,同时为我们指出了一个事实:那些不敢冒险的人就无法发展他们的才能。 用上千小时来做一件事并不是一件理性的事,常常会产生困扰,还会被人家认为是死心眼。但这种极端的感受却正是才能的组成部分,因为这里包括我们不能完全控制的力量:我们的情感、我们的个性、我们的激情。"我们暂不论这些书是否是有些偏执,但是他们背后的东西却逃不出一点:专注和激情。就是我们通常所言的一条道走到黑,或许你就成了,说道激情,我就不得不谈一谈动机了。

关于动机
有这样一个孩子为谁而玩的心理寓言:"一群孩子在一位老人家门前嬉闹,叫声连天。几天过去,老人难以忍受。于是,他出来给了每个孩子25美分,对他们说:“你们让这儿变得很热闹,我觉得自己年轻了不少,这点钱表示谢意 。 “孩子们很高兴,第二天仍然来了,一如既往地嬉闹。老人再出来,给了每个孩子15美分。他解释说,自己没有收入,只能少给一些。15美分也还可以吧,孩子仍然兴高采烈地走了。 第三天,老人只给了每个孩子5美分。 孩子们勃然大怒,“一天才5美分,知不知道我们多辛苦!”他们向老人发誓,他们再也不会为他玩了" 
人的动机分两种:内部动机和外部动机。如果按照内部动机去行动,我们就是自己的主人。如果驱使我们的是外部动机,我们就会被外部因素所左右,成为它的奴隶,而且随之而来的是无穷无尽的负面情绪,抱怨,焦虑,怨恨等等。 复杂的外部因素总是无时无刻在影响着我们的内心,如果你的内心不够强大,你就会随波逐流,对于程序猿而言,我们总是面临着各种各样的问题,你为什么而编程,为了生存,其实这是我们基本的动机,但是你如果把问题看远一点的话,你就不会为这个问题而困扰。

     路漫漫其修远兮,吾将上下而求索。编程是一场漫长的修行。


猜你喜欢

转载自blog.csdn.net/figo829/article/details/8026634