王小波离开这个世界整整20年了,这位当代著名作家依旧被无数人怀念。
  喜欢读书的人,对王小波都不陌生;而非书虫者,大约也听过他的名号,知道几句他的高逼格情话。然而估计很少有人知道王小波可以算得上是个极客,甚至可以说是中国的第一代程序员。
  网络上说王小波是“最会写情书的程序员, 最会编程的作家”。
  
  
   1292394922.jpg1080x212 35.3 KB


  王小波出生于北京一个知识分子家庭。大学就读于中国人民大学贸易经济系商品学专业,而后去了美国匹茨堡大学读经济的研究生。之后回到大学做统计学的讲师。
  
因为做统计,各种分析工具是必不可少的,以前人手工计算,有了计算机当然最好使用计算机,基本理工科的都知道用MATLAB做个毕设和作业是多么重要。所以当时计算机对王小波的工作是相当重要的,但是90年的时候,软件相当稀缺,电脑又相当不智能。王小波不得不自己写软件,当然开发软件也不是那么简单,所以他先是学会了FORTRAN、汇编、等各种语言,接着又要学习数据结构,算法的相关知识,还有编译原理。
在做出中文编辑器和输入法,解决了自己的需求之后,王小波对写软件的兴趣已经没有多少了。因为他觉得写软件可以赚钱,写小说同样也可以赚钱。处于一个程序员的修养,王小波还是不断地从数据结构和算法来优化这两个软件。93年的时候,王小波买了一台286,这在当时是一台奢华无比的机子了,他自己也是这样认为的,高兴得一塌糊涂。不过这台顶配机子还是满足不了王小波的要求,后来他把时间花在了不断地去优化这台机子上面。
王小波小说里的男主角基本都是理工男,除了天天意淫还有一些奇怪的想法。其中一些还有自己的发明,比如《未来世界》里的王二是个工程师,整天想着和 单位一起研制的永动机,还有《红拂夜奔》里的李靖发明过一个巨大的开跟号机器,在战场上,这台机器运转起来挥舞着杠杆边开跟攻击敌人,有的人死在根号3 下,有的人倒在了根号5下,这些都只有GEEK才会想得出来。(引用自文章《王小波和编程》)
  有人从王小波和朋友的书信里收集了他所做软件的各种信息,从中我们可以了解他在编程方面的造诣。顺序按照原文的书信顺序,应该也就是时间顺序(大部分为第一人称)。
   捕获.JPG907x545 201 KB

捕获.JPG910x476 210 KB

捕获.JPG908x375 143 KB


  王小波的计算机水平到底有多好?流传最多的答案要数王小波外甥姚勇(这人还是前水木年华的队员,据说丁磊曾挖他做3D游戏引擎,后来他去给马化腾写了《QQ炫舞》)所写的一段话了。
  
我舅舅是王小波。我是个禁不住人肉的老百姓。资质平庸。 王小波一篇《我是怎样做青年思想工作》的杂文在我青年单身适龄的年代,给我个人做了最大程度的广告。算是他老人家留给我最宝贵的遗产之一。 除此之外,还有他那台用了很久的PC,在他去世前一年送了我。
他是汇编高手。自己用汇编写了DOS下的汉字输入法。输入法有个功能,可以加4声。 一般拼音输入法没有这功能。这需要普通话读音正确的使用者。90年代总共也没几种汉字输入法。看过他用自己输入法打汉字。速度几乎和盲打英文一样。那时候我大学,正在疯狂苦练吉他。并没有弄懂他用了何种技术。虽然我从小学也用Z80和APPLE II 做些机器码编程做游戏。但到了中学为了高考,计算机就荒废了。
他人生最后几年,WINDOWS 3.2开始普及。然后是WIN95。 他开始从DOS转向WIN32 SDK编程。最终非常任性地熬夜苦干了很长时间,把输入法转为WIN32 SDK 在WINDOWS下正常工作。当时WINDOWS已经有不少汉字输入法。 尤其到了WIN95时代。 他这么做也只是出于兴趣而不是在DOS时代的必须。就WIN32 SDK我们还讨论过一些。那时候win32 sdk真的是很难用。主要是互联网还没有(我是96年后用上的),资料很少。匈牙利命名法陌生。WIN32的体系和DOS大相径庭。全部都很陌生。而且完全抛弃了DOS那套东西。所有90年代DOS底层程序员向WIN32的迁徙都是一部血泪史。
他人生最后一年,多媒体开始普及。光驱,声卡,2D加速卡普及。95-96年他开始和我合计做多媒体出版。原因现在想起来很悲伤 ------ 他的书很难在大陆出版 。 他不得不想办法让他的作品能够让更多人看见。而平时维持生计,只能忍着严重的痔疮,每日给各种杂志写杂文稿件。 多媒体的兴起,让他感觉也许利用他的技术优势,自行制作电子出版物。配上插图,音乐,用电子书籍方式可以让自己作品为大众所见。他给我看了已经制作了一部分的DEMO。就和现在用Micromedia多媒体制作软件制作的电子多媒体制品很像。电子书内容是黄金时代。有图案的背景。按空格可以翻页。同时有音乐。好像偶尔还会有一点动画的特效(我记不清了) 。但当时的DEMO完全是他自己用WIN32写的EXE 可执行程序。 他那是从WIN32 SDK移植输入法时,基本掌握了消息处理,GDI,窗口控制等方法。还有一些底层的TRICK。
  知乎上有人说:“王小波的编程能力肯定是不逊色于同一时期的雷军和马化腾的。” 据说当年很多中关村的老板都邀请过王小波加入公司当程序员,不过,王小波显然发现写东西更有意思。
  若换到如今,王小波又会如何选择呢?