程序员随想

Author: 北京金山软件公司总经理 雷 军 Date: 1996-10-04

        从开始写程序到现在快十年了,写过的程序不少。我的第一套商品软件BITOLK加密工具现在已升一到3.0版。从这些年的风风雨雨中走过来,不能不有些体会。
        说到体会,最大的体会就是这条路太漫长。
        一、一辈子有你 苦一点也愿意
        我没有奢望大家把写程序和文学创作相提并论,但其中的苦楚也是是一个普通用户能够体味的。为了写好一个程序,我们度过太多不眠之夜。有个朋友如此评价道,“写程序简直是在自杀,巨费精力巨费脑式巨累”。但还是有许多人不畏其苦,前仆后继。
        我刚接触到电脑就发现电脑的妙处:电脑远没有人那么复杂,如果你的程序写得好,你就可以和电脑有着非常融哈的关系,就可以指挥电脑干你想干的事,这个时候,你是十足的主宰。每每坐在电脑面前,你就如愿在一个王国里巡行。
        电脑里的世界很大,程序员是活在自己想象的王国里。你可以细微到电脑里的每一个字节、每一个比特位的东西。
        这样的日子简直就是天堂般的日子,很多人都爱上了这样的日子。
        不少人认为程序员最多干到三十五岁就可以收山,脑子也差不该歇歇了,并认为写程序是年轻人的事情,到了一定年龄,估计没什么人再当程序员。
        我刚毕业时,义气奋发,也想先吃点苦,到了三十岁就不干了。年长一点后就发现了自己的无知。一个人大学毕业就二十一二岁,技术成熟一点后可能二十五,接着就是票子、妻子和房子等等诸多忙不完的事情。一切搞掂的时候,也许就是三十五岁。如果三十五岁就放弃的话,我们就不用选择程序员的道路。
        电脑进入我国时间不短,但真正大规模开始用,还是八五年PC登陆我国时候的事。因此国内真正写电脑程序的人最长也就写了十几年(不知道是否还有这样的人)。由于电脑应用在国内时间比较短,国内程序开发的主力以三十五岁以下的年轻人为主。但这不表示程序员如同红粉佳人般的容易衰老。美国和台湾地区地开发者以三四十岁的人为主。开始写程序的时候,我们觉得没有什么不能做的(现在还能听到这样的豪言壮语),而且更要命的是好象我们特别聪明,特别适合开发软件,比老多强得多。当我们真正接触那些杰出的开发人员的时候,发现他们太厉害了,都有十多年的开发经验,绝大多数的产品出自这些有丰富开发经验的程序员之手。
        毕业后,编程不仅仅是爱好,而且成了一辈子的工作,可以肯定会干一辈子,虽然我没有打算一生只干这一件事。用一生来编程充是一件既容易又困难的事。如果碌碌无为,为交差写点程序,这样写两辈子的人都有。但如果想全身心地写程序,写十年都不是一悠扬容易的事。现在我的不少朋友都洗手了,有时也有这种想法,但一旦面对电脑,立刻顿悟:电脑还是自己最擅长士的事,也是最顺手的事。
        二、我的未来不是梦
        有的人刻苦学习编程技术,努力提高编程水平,并把高级程序作为追求的目标,甚至是终身的奋斗目标。后来参与了真正的商品化软件开发后,感到非常困惑和茫然。
        当我上大学的时候,高级程序员也曾是我的目标。当时,我通过等级考试获得得了高级程序同证书,并在自己的名片上印上“高级程序员”的字样。”后来,我的水平提高了,似乎也成了大家认可的好程序员了。这个时候我却开始茫然。我希望我的技术能得到别人的承认,当得到别人的承认后,我又能如何呢?后来我发现,无论成为多么高级的程序员都没用,关键是是否能够想出好的产品,你的劳动是否能被社会承认,能为社会创造财富。
        我的未来是明确的,开发出高质量适用的产品,为社会创造财富。
        三、每一个程序都是艺术品
        有人认为程序员没有什么了不起,不过是一种熟练工种而已;也有人把编程说成是艺术创作,捧上天。这两种意见争论比较激烈,甚至可以说针锋相对。
        我们换个工种来看,石匠应该是熟练工种,跟艺术似乎沾不上边。但正是这些石匠,给我们留下数不胜数的文物古迹,如乐山大佛、莫高窟等等。应该说这些石匠给我们留下了无穷的文化财富。我认为编程的工作和石匠比较相似,也是艺术。
        现代软件工业已具相当规模,很多软件的完成需要的是大兵团作战。一名普通程序员接受编写某一模块的任务后,往往只是写代码,发挥的余地很小。在大项目中,很多程序员能只了解到和自己所编模块相关的很局部的细节,另外还受到开发环境的限制,真的很难体会到自己在从事“艺术”创造,更多的时候是感到自己在从事重体力劳动。有的时候还提 心自己苦苦参写的这个项目究竟有没有意义,是不是在同类产品中有竞争力,会不会开发出来以后就因为硬悠扬的发展、操作系统的换代而过时……
        编程的技术活,才有可能大规模进行,才会有软件工程的理论。也正是编程具备艺术创作的特点,我们的生活才会有如此多的好软件产品。写一个程序需要付出脑力和体力,当我__我们__某个群体完成一个程序之后,在我们的眼里,每一个程序就都是艺术品。