<转> 谈我们为什么学不好编程2——你是否已进入“等死模式”?
在大本营中,我最常被问到的问题之一,可能是像这样的:老师,请问我是应该学 C++还是学Java呢?老师,听说C语言已经不行了, .Net才是未来的方向,是不是这样的?老师,我原来学过C,现在想学C#,但是好像听说Java比较好找工作,请问我该怎么选择?......
其实很多人这样犹疑不定,想学C又觉得可能学C没有学Java有前途,想学Java好像又觉得Java好像比C++难学(而且他其实连C++和Java是怎么回事都没搞清楚)最后都是一事无成,C没学完,Java也没学明白,C++也是个半吊子。与其在这里思前想后,左右为难,到不如痛下决心,一路到底。很多人大学四年基本上都在这样犹犹豫豫中度过,而其实要把《Thinking in Java》通读三遍可能也只需要一个学期的时间。花时间来郁闷、犹豫、抉择、困惑,就是“等待成本”。花时间来体验、尝试、实践,就是“穿越成本”。当一个人等待与拖延的成本远远高于他真正开始行动所需要的成本,他就会慢慢陷入越等待越不行动的怪圈。我把这个模式称为“等死模式”。
与其在等死模式中消耗自己的心力与体力,还不如去试一试!其实在某些时候没选择反而就是最好的选择。我在上学的时候有一次,中国机载计算机奠基人之一的沈绪榜院士为我们做报告,报告之后进入自由问答阶段。有一位正值大四的学生起身问道,沈院士,请问您当初为什么会选择计算机作为自己的专业方向?院士笑言道,其实在进入这里领域之前,我们根本连计算机长什么样子都没有见过。当时就是服从国家分配,国家让我去学计算机我就去学了。当时我们甚至连二进制还都没有概念,华罗庚是我们的老师,他就从二进制给我们讲起......因为没有选择,也就没有犹豫,无论是国家分配,还是命运使然,看似误打误撞进入这个领域的当年的那个同我们一样的学生,现在已经成为了一名院士。从这个角度看,是否印证了前面的论调呢?
正是因为选择太多,人们才会更加迷茫。而迷茫的人最容易进入等死模式。所以那些整天还在问我到底是该选择工作、还是选择考研;我到底是应该走Java方向,还是应该走C++方向的学生都有进入等死模式的前兆。说白了,这种等待成本将远远大于穿越成本。一旦你陷入了等死模式,最好的选择就是行动起来,进入穿越模式!穿越也许会有短期痛苦,但是等死往往会带来更大的永久损失。然而,强者毕竟是少数。很多人即使已经意识到问题的严重性,他也很难做出实质性的作为。因为任何成功都不可能是一蹴而就的。如果你眼前有一座很高的墙,而你想翻越它,那么这时我会建议你应该先把一只鞋扔过墙那边去!这已经不是什么新鲜的论调了。《史记·项羽本纪》中记载“项羽已杀卿子冠军,威震楚国,名闻诸侯。乃遣当阳春、蒲将军将卒二万渡河,救钜鹿。战少利,陈馀复请兵。项羽乃悉引兵渡河,皆沉船,破釜甑,烧庐舍,持三日粮,以示士卒必死,无一还心。”“破釜沉舟”的故事正是现实中一个鲜活的例子。正因为“破釜沉舟”,所以才“别无选择”,因此才能“孤注一掷”。
问题的关键就在于勇敢地迈出第一步。承接我所写的“我们为什么学不好编程1” 中的内容,可能知易行难的窘境又再次得以佐证。很多人说要下定决心学好C语言,就满腔热情的跑到大本营来请老师给推荐几本书,这种推荐仅我一人已经做过很多了。很多学生看了老师的推荐书单后都表示感谢和欢迎。但当初那些让老师推荐书单的学生,是不是都去读了书单上的书呢?哪怕一本?事实是没几个。这种三分钟热情的人基本上很难有所作为,特别是想学习编程这种需要多多实践的东西,那些夸夸其谈和好高骛远的人都只会被拉得更远。正在读本文的你不妨自己思量一下现在的自己到底处在哪种状态?