December 2015


时常与一些同行朋友说起“软件难做”的话题,一方面软件确实挺难做,变数着实太多(推荐《梦断代码》),另一方面,让人理解软件难做,更是不容易的事情。如果说第一个问题靠苦练内功还能看到希望,第二个问题就近似无解而让人绝望了。下面两个场景,相信大家都不陌生:

头儿说:你们开发怎么这么慢?拿这么高的薪水,做事还这么慢?我急得不得了,只可惜我不懂开发。我如果懂,我去学校招50个码农,连续熬夜一两个礼拜,绝对可以做出我想要的系统。

头儿说:我真是对系统失望透顶了。想我以前刚创业的时候,七八个人,五六台电脑,什么事都是靠喊,那时候工作效率多高,人均产值多高?现在人才到几百个,就成了这个鬼样,说要上系统,上了系统有变好吗……

我有时候会想,这些说法在普通人看来似乎也没有错,但行业中人都知道错得厉害。那么,问题究竟出现在哪里呢?我想来想去,觉得原因大概在于,持这样说法的人往往只依靠来自生活经验的“逻辑”和“直觉”,还没有真正理解“软件”(或者说“系统”)到底是怎么一回事。

(more…)

我从小记忆力就不好,哪怕对自己很喜欢的东西,也难得记住。

我曾经是军事发烧友,但二战时期德国的两种导弹,V1和V2,到底哪种是巡航导弹,哪种是弹道导弹,我一直记不住,看过了又忘;我也曾经是电脑游戏发烧友,但只记得id Software的创始人是两个约翰——约翰·罗梅罗和约翰·卡马克,这两个人分别干了什么,我也记不住。结果这类话题往往不敢与其他人细聊,生怕露馅而尴尬。

秉承这种记忆力的突出结果就是:我的文科一直学得不好。中英《南京条约》开放了哪些港口:广州、厦门、福州、宁波、上海。这样的答案有些人看一遍就能记住,我却要把“广夏福宁上”念个几十上百遍,才稍微有些印象。我当然羡慕那些记忆力好的同学,同时也好奇:有些人的记忆力明明不够好,第一遍也背不下来,为什么还是能记得那么多东西,而且那么清楚呢?

这个问题困扰了我很久,直到有一天我忽然发现,我分得清V1和V2导弹了,分得清约翰·罗梅罗和约翰·卡马克了。这当然不是千百遍的背诵做到的,但是花的功夫也不少。

(more…)