20111111

牛人与弱手的区别,不是线性的,而是指数的 及他们之间的道路

牛人与弱手的区别,不是线性的,而是指数的 及他们之间的道路

1.误操作

今天傍晚,我删除了整个下午的工作成果。误操作。执行的是那个著名的指令
"rm * -rf"。

我发了会呆,再三确认是这个目录,然后手悬在键盘上不知道该敲些什么。我跑
到GOOGLE,没有解决方案。牛同学说,能不能恢复啊?

我说:不能,十好几年前我就知道不能恢复。

这命令太著名,且令人印象深刻了。上网查一下,只是安慰一下自己。恩,我并
不孤独,傻子真多啊。

有多少人有这样的经历呢,先是对着心爱的人喊"我再也不想见到你",当如愿以
偿的时候,开始对着空虚哭泣。

rm是remove,-f是不必再问一次,-r是递归。递归的意思是,把目录下的目录下
的目录下的...东西,都照此处理。类似于,我烧掉你的信,烧掉提到你的信的
日记,烧掉提到日记的作文,烧掉提到作文的...我想你明白了。

大半夜的,刚又调了半宿,我可不是跑这伤感来了。当时,我对着屏幕发了一会
呆,然后对张宇同学说:你回家吧,今天的观摩到此结束。最重要的内容你刚刚
学到了,今天学不着啥了。

然后,我开始键入,跟张健一边回忆下午的全部工作。我们花了大约1小时20分
钟,把整个下午的工作完成了。接下来的半个晚上,我证明了这1小时20分中,
大部分时间是在试图解决一个暴露出的新问题,而不是恢复下午的工作。

一整个下午 对比 1小时20分,其实这正是令人悲哀的差距。

1小时20分 说明,我们,具体地说就是我,一整个下午,大部分工作是在发现错
误和改正错误,而真正的工作,1小时20分钟足以完成。

这就是高手与我们这样的低手的差别:我们引以为豪的一整个下午的工作,对于
不犯那些愚蠢错误的高手而言,只值1小时20分。

2.效率之差

高手通过避免错误节省时间,从突显出他的效率。即使犯了错误,他也能更快地
发现错误的原因,也更快地修正错误。

想起ACM比赛,牛人和面人之间的差距,岂可以道里计。相信有过比赛经验的同
学深有体会。在工程中,面对牛人深感绝望的各位也一定深有同感。

更可悲哀的是有一些同学尚无法看到自己与牛人的差距,动辄认为:我也能整出
来。

他所看到的,是现实或者电影里牛人几乎不犯错误的流程,并投射到自己,却不
知道 不犯错误本身正是至难的事情;犯了错误能够以别人几乎无法发现的速度
发现和更正,也并非人人能够。

我们把大部分时间都花费在犯错误上了。

骄傲的同学认为:其实再给我一点时间,我也可以。

时间。这个世界最吝惜给予我们的,恰恰就是时间。

如果我们有足够的时间,我们就可以在战场上迂回到敌人的后方;如果我们有足
够的时间,我们就可以比对手更早地把刀切在某个部位;如果我们有足够的时
间,我们就能把这些兵那些兵都调到敌人的基地,把所有的矿全占了……

所有这些愿望,只需要一个前提,那就是当我们拥有时间的时候,别人没有同样
拥有。

你这为这个前提可能实现么?

时间。这个世界最吝惜给予我们的,恰恰就是时间。所以,我们在战场以下用小
时计算以天计算以年月计算的时间,却换取战场上的几秒钟。

我们用这些时间训练自己避免错误,也训练自己迅速改正错误。这样,在战场
上,我们就可以有更多的时间做正确的事。

经常有年轻人抱怨,失声痛哭,为什么结果会是这么悲惨。为了让你自己好受一
些,请假设我在讨论的是中国男足。其实结果如此悲惨的原因非常简单而直接,
在过去所有的岁月中,你做出了这样的选择。

我们与牛人能有多大的差距,在甚至不足一生的努力之后?

想想你和你的小学同学现在的差别,和你的高中同学,和你的大学同学。有一些
人,如偶像YMH,对够达到令我认为 对比是没有意义的,因为永远不可能达到,
更遑论超越。

据说巨牛的程序员的效率是面手程序员的10倍。我想,做出这个统计数字的人,
一定没有参观我们的教室和实验室。

3.图书馆案例

正确的方法与糟烂的方法效率之差能有多大?一个真实的案例,但是今天不细说。

当年在图书馆导数据出来。

预定的方案导出全部书目所需的时间是:200个工作日左右,每天8小时,需要一
位工作人员陪着机器。

我们经过1个月还是一周的研究,最终的方案导出数据花费了:半小时,人类按
键花费了不到1分钟,然后就离开了。

如果我们更牛,避免错误技术路线的尝试,这两个方案的对比就是 200天
vs. 30分钟。

4.于同学的问题

周三李记者讲座以后,于同学留言问到:

"其实老师,我还有一个问题没有问(我怕老师们回答不了):如果一个人很热爱
代码,很喜欢计算机,但是他学的就是不好,编程就是不如别人,他还有存在的
价值吗,他如何生存(可以译为小人物的生存之道)。习编程。"

其实这个问题一点也不难回答。初步的回答是:

"我唱歌跑调挺严重的,但是我学习弹琴;我体质挺差的,但是我坚持做俯卧撑--我
一直在进步。結果并非总是重要的,过程也是我们所追求的;试想,人生如果忽
略过程,只看結果,还有什么意思。"

只要努力总会进步,而且进步是成指数,而不是线性的。牛人,一般都是从面人
过来的,当年也都面得可笑。

很难想像热爱却不能精通,如果你用一生的时候去追求。

是的,由于天份所限--我们不得不承认--直到生命最后一刻,我们也没有成为巨
牛的牛人,但是你的高度已经可以被很多人仰视了。你三两岁的时候,如果像现
在这样畏难,一定会被自己当时走路和语言的能力吓得每天哇哇大哭。

我知道,你当时确实是那样做的,每天哇哇大哭。现在,请别再以另一种形式继
续哭了。

而且,我们的人生并非用来与人比较,这一进步的过程,也正是我们所享受的。

我们终无可能踏入神的队列,但是我们从未停止努力的脚步。正是持久的努力之
路,而并非结果,令我们不同于凡俗。

No comments: