从个人经历漫谈传统教育与编程

1

这一两年以来,我越来越避免在 Web 的公开领域(甚至在微信朋友圈)说一些有关个人经历的事情,即便有时候为了情境必须得说出一些关于自己的东西,也会在事后把它删除或隐藏。不是担心个人隐私什么的(或者只是很小的一部分原因,这个年代还有个人隐私可言吗?),而是在玩遍社交网络之后,我觉得没必要在虚假的网络说上太多个人相关的东西。真实的世界才是真实,对于网上的东西没必要过于认真,很多事情我们永远无法知道背后的真相到底是什么。

另外一个原因是,我不希望人们通过网络来认识自己,尤其是对于新认识的朋友。更多地,我还是希望相互的了解能尽量通过 one-on-one 的形式来进行,即便是不能线下有约,通过微信聊也会更好。我们在朋友圈或者微博发的东西都是面向所有人的,在某个情境和上下文下,你在网上发表了一些东西,但我不希望人们在看到这些东西的时候会产生对这个人的「刻板印象」,因为那些东西不能代表一个人本身。

所以,在个人博客中我也是如此,都尽量写一些相对客观实在的谓之「干」的东西,能产生一些价值。但是这篇文章我想说说传统教育和编程,会扯上一些个人的经历来背书,内容很湿很不客观,诸位姑且一看。

2

我是在进入高中后开始接触编程的,那个时候有幸进入了全省最好的高中(至少是最好的四个之一吧)的理科实验班学习,每个同学都必须在数学、物理、化学、生物以及信息学这五大学科中选择一门作为自己的竞赛科目。基于初中的经验我本来是打算选择物理的,但听说信息学更容易出成绩,年少的我也对这门神秘的学科充满好奇。由于当时做决定的时间很紧张,于是我还没多想就懵懵懂懂的选择了信息学竞赛。这大概是我这辈子在最无知的情况下做出的最正确的决定,如果不是这个选择,我可能还跟很多在校大学生甚至已经毕业了很多年的毕业生一样,完全不知道自己想做什么,想从事什么样的事业,自己真正的兴趣在哪里。

这么多年回过头再去想,即便之后的种种决定都经过了慎重的考虑、广泛的参考,也做出了不少很浑的选择,这之中就包括大学和专业的选择。哈哈,人生有时候就是这么讽刺,上帝他老人家就是很喜欢跟无知的人类开玩笑——「人类一思考,上帝就发笑」。可见,人生很多时候还是需要依赖一些运气和感性的直觉,才不像那些鸡汤中所说的全靠个人的努力和理性的判断,「选择大于努力」,说的就是这样。当然,我现在还不能给每一个选择是对是错下定论,人生一世,谁说得准呢。我只是站在现在这个人生节点上回头望去,非常主观和极其不负责任的对这些选择「狂妄」地评判一番而已。

扯远了。在接触编程之后,我就像 11 岁的 Harry Potter 一样立马被这个「神奇的魔法世界」吸引了。那个时候我们学的是 Pascal 语言(如今这门语言基本只存在于信息学竞赛领域,而且大有被淘汰的趋势),经常解决一个算法问题花费一整天、一晚上而不自知,而且往往还自得其乐。在问题没解决时,它还会萦绕在你的心头,甚至可能在你吃饭时迸发出一些灵感。而在解决问题之后的巨大喜悦,更是让人陶醉。我大概是在编程之后才开始真正学会如何系统地有逻辑地去思考问题的。乔布斯就在访谈中说过,他觉得每个人都应该学习编程,因为那会教会一个人思考问题的方式,exactly。

虽然高中生参加竞赛本来就是带着很功利的目的的(高考加分和保送政策),但那个时候我却在这件看似功利的事情中找到了真正的快乐。如果现在要来描述这种快乐的话,我推荐你去看看《人月神话》的第一章以及《黑客与画家》,如果没那么多时间也可以看看我的这篇文章,不过我仅仅阐释了能够产生这种快乐的一个方面。

那个时候,比尔盖茨还没有退休,并且常年霸占着福布斯富豪榜头条,苹果和乔布斯在中国还没那么广泛的被人所知,绝大部分人还使用着质量杠杠的诺基亚。那个时候,我深刻的了解到世界上有那么一群人正是在用 IT 技术创造着一些奇妙的东西,他们不用枯燥的背着「之乎者也」「碳氮磷钾」、不用配着莫名其妙的化学方程式、不用算着复杂的二次曲线方程、不用去记可能一辈子用不到的英语单词。他们离我们那么近、那么远……

3

与创造和用编程解决具体问题的快乐比起来,高考下机械古板的学业压力就显得没那么「可爱」了。我在我身上发现了一个不大不小的规律,一旦我打心底里接受并认同了的事情,我可以把它做得非常好,甚至是强迫症般的追求完美,然而要是我是被迫着去做某些事情,即便我可以强迫着自己很努力,我也无法在潜意识里欺骗自己,而且其结果往往让所有人失望。这也是我自称是「坚定的理想主义者」的原因之一。

高一结束,因为其他学科被我落下很多,在老师和家长的联合「劝说」下,我极其不情愿地退出了信息学竞赛。那时候还中二的我问自己最多的问题是:为什么一定要高考呢?

之后便是枯燥的高中两年,然后是高考失利。然后是非常幼稚的选择大学和专业——说出来你可能不信,即便是经过了充分地考虑,我却没有在那个时候选择计算机专业,大概是高中后两年已经让我忘记了编程能带来的快乐了吧。然后开始憧憬大学生活,而进入大学之后我才被官僚、照本宣科以及本质上与高中无异依然是为了考试而学习的大学生涯感到彻底失望,还算幸运的是自己加入了某个校级组织的技术团队,才让我又重拾了一些创造的快乐。而在大学期间我也利用 MOOC 平台学习了很多计算机相关的课程,因为是真正喜欢编程,这些课程我都取得了不错的成绩,其中两三门还在下一次的开课中担任了助教。

关于大多数国内大学的转专业制度,我很想问这样一个问题:只有当成绩处于当前专业的前百分之十时才能够转到其他专业,既然我本来就对当前的专业不感兴趣,那为什么要先花费大量时间强迫自己应付考试直到排名至前百分之十才能转到其他专业呢?从兴趣驱动学习的角度来说,这难道不是一个本末倒置的逻辑吗?我现在能想到的原因就只能是,那些不进行一线教学工作的教务行政人员为了简化自己的工作而不得不用利用排名制定的门槛罢了。

从那时候开始,我学会了真正的自己为自己做决定,遵照自己内心最本真的声音,放下桎梏地去探索自己真正想要的东西,去创造属于自己的快乐。

4

关于大学,我并没有大多可说的东西,可笑和不那么让人愉快的事情还有很多,我开始认识到这个世界的真实和形色各异的人类。不过,为了能体现自己主观的态度,做到全文皆是「极其不客观的湿货」,引述一下别人的观点:

  • 阮一峰,上海财经大学世界经济学博士,目前在上海一所大学任教,同时在国内 Web 开发领域颇有名气,中文版《黑客与画家》就是他的译作。他在最近的一篇博文中这样说:

当代的大学起源于欧洲修道院的模式。学生要经过多年的苦修,经过考核,才能毕业。如果想成为高级僧侣,就必须再多熬几年。另外,还有导师作为监督人,防止你学到歪门邪说。这种模式的两大弊端,演变到今天,已经越来越严重了:一个是传授的知识老化,另一个是极其浪费学生的时间。

什么知识才是有用的知识?农业社会,上一代人的知识可以一成不变地用在下一代。而在信息社会,前几年的知识,再过几年就不能用了。

这种情况下,大学应该教什么,我们根本不知道。学生毕业后的行业,现在根本还没有出现。因此,大学只能重点教基础类课程,但这样就会学到大量没用的东西。学生感叹,考试一结束,许多课程这辈子再没有用到的机会了。

更糟糕的是,学生的培养计划,都是一些二三十年前毕业、然后一直待在大学里、与社会生产实践脱节的人制定的。他们的知识和思维早已过时了。这样的人指定你应该学习的知识,很可能在你学的时候就已经没用了。

退一步说,就算你在大学里能学到真正的知识,也不应该在那里待四年。如果只学最需要学习的东西,一年就够了。四年时间足以让一个人在任何领域成为资深业者,甚至专家。可是我们的大学生呢,经过本科四年,不要说领域专家,甚至能力强的学生都寥寥无几。我们的大学制度用了四年时间,培养出了大量一无所长的、迷茫困惑的、市场滞销的年轻人。

18 岁是人生最有热情和精力投入一项事业的时候,但是,大学将你一连四年关在教室和图书馆里,把考试和绩点伪装成你奋斗的目标,人为将你与真实世界隔离,引导你去关注那些对未来人生毫不重要的事情。经过这样四年的歧途,等你真正走上社会、要跟全世界竞争的时候,你的竞争力不是变强了,而是变弱了。换句话说,四年制大学很可能是削弱你,而不是让你变得更强。

世界著名程序员 Jamie Zawinski 曾经解释,为什么他只读了一个学期的大学就退学:「进了大学以后,每天 8 点就要起床,开始训练记忆力。有一门课我早就会了,想申请免修。教务长说不行,你必须上,这是政策。见鬼,我为什么要自己付钱,来这种地方。我就退学了,从来没后悔过。」

我们时代的很多成功者—-乔布斯、比尔盖茨、扎克伯格等等—-都是退学生,这绝不是偶然的。不是他们在大学待不下去,而是他们发现,没必要在那个地方待四年。如果他们咬着牙忍受下去,熬到拿到文凭的那一天,苹果公司和微软公司可能都不会有了。

读大学,只是 18 岁时很多种选择中的一种,不是唯一的选择,更谈不上是最好的选择。校园是一个美丽的地方,但是如果一定要在里面待上四年,那还是算了吧。

  • 陈天,北航软件工程毕业,企业家和全栈工程师,现居旧金山。他在 2014 年的一篇微信公众号(programmer_life)文章《谈谈大学》中这样说:

很多课本我自学的效果要比听老师讲还好 —— 其实大部分时间,老师不是在讲,而是在板书。学过的好几门专业课中,老师板书的欲望比小男生们想妹纸的欲望还要强烈。

所以我逃课的概率越来越大,参加科协活动的时间越来越长。我喜欢和一群对技术有着挚爱的人聚在一起,哪怕他们在贬低我的 asp,抬高他们的 php,我也无所谓,只要不要让我听到粉笔敲击黑板的声音就成。

(另一段) 比赛归来,我正式加入了实验室的 863 项目组,研究扯淡的虚拟企业信息集成。扯淡归扯淡,论文还是要发表滴。经历几次失败后,我摸索出发论文的技巧,成功以第一作者身份在核心期刊「计算机应用」(成都的,好像是这个名字)发了一篇文章。我默默地感觉在国内核心期刊上发表论文也不过如此 —— 精髓就几个字:「把简单问题复杂化」。比如说,一个你跟同学都能说得明白的算法肯定上不了台面,必须将其公式化,公式越复杂越好,最好看的人觉得「哇靠,屌爆了」,那你就成功了。当然,光有公式化的算法还不够,你还要有牛逼的定义,再辅以云里雾里的示意图。示意图和公式要一个德性,不是用来让人看懂的,而是让人看不懂 —— 别人越看不懂,你的逼格就越高。如法炮制,我又发表了两篇核心期刊。

之后再发表就没有意思了。整个学术界的迂腐让我震惊,大家都不得不跟吞了鸦片一样,在烟雾缭绕中极尽浪费生命之能来摧残自己的智商。

在传统的世俗成败观上,这两人都可以说是在现行大学体制下颇为成功的人物,但他们依然发出了这样的声音。

引述他们的这些文字基本能够表达我主观的意思。传统教育尽管确实问题百出,但我觉得最让人感到绝望的一点还在于,十年前在用的教育制度和理念,十年后居然还是一层不变,看不到一点改观和生机。实在很难让人相信这是被誉为「象牙塔」的大学教育。

5

不过,客观地讲,我并不认为大学教育是完全不必要和一无是处的。大学的可取之处不在于它现行的教育体制和教育方式,而是它能够为刚结束高考步入成年社会的少年们搭建这样一个相对自由的平台和环境。在这样的环境中,你第一次开始有了比较充分的自主权,开始认识各种各样的人、经历各种各样事情,开始学会独立思考,开始懂得如何成为一个有血有肉有更高追求的高素质的人。随之而来的眼界的提升、视野的开阔、综合素养的培养等等,不必多说。当然,准确地说,这些好处是这样的客观环境所带来的,而不是现行大学制度主观培养出来的。也就是说,只要客观提供这样的平台和时间(比如四处游历,但我不确定),不一定非得在大学,一样可以得到这样的培养。

6

最后,为了避免有人随便看了一眼内容中的几个词就给我主观臆断的随意贴上「反智」的标签,我提前给出我的解释:我推崇纯粹而自由地学习各种各样自己感兴趣的知识,不分文理,不分学科,这些知识不一定非得是客观有用能立即产生价值的,但绝对不是绑定了太多功利目的或因为制度的缺陷和僵化而半被迫的去学的。底线的条件的是,它得是你真正感兴趣并自发的愿意去深入学习的。

编程就是这样一个我愿意自发的去探索的领域,但你的领域可能并不在这里。值得一提的是,随着近年互联网势头的火热,很多人抱着很功利的目的成为了程序员,但他的实际兴趣可能并不在此,工作也只是应付过去,当然也没有更高的技术追求和主动探索的动力。我并不看好这样的人,我只能真心的希望他们能早日听到内心的声音,发现真正的兴趣,早日打开新世界的大门。