科学的美好,在于它是种自由的事业-geek眼中的王小波

应vice杂志之邀写的特稿 http://www.vice.cn/read/text-editor-or-word-processor-by-w2

备份地址:http://www.anyv.net/index.php/article-327787

2016年4月11日是王小波去世19周年祭日。和许多孤独者一样,王小波生前寂寞,死后风光,微信朋友圈被王小波刷爆。

王小波作为中国最早的自由主义作家之一,他的杂文和小说广为流传。 他的文字,诙谐幽默,说理清晰,倡导有趣,启发了一代人。但是不那么广为人知的是,王小波是中国早期的geek,喜欢鼓捣电脑,也是一名熟练的程序员。

王小波在云南当过知青,插过队。1978年起,在人民大学本科学习贸易,之后到美国匹兹堡大学读经济。1988年学成归国后,他回到大学任教, 先后在北大社会学系,和人大会计系作讲师教授统计学。大概是因为做统计的关系,接触计算机是必不可少。上世纪90年代初的时候,对于普通工薪阶层来讲,个人电脑还很昂贵,软件也很稀缺,王小波不得不自己动手,编写软件。王小波自学了Fortran,汇编和C等各种语言。接着又自学了算法和数据结构等计算机相关课程。

Image for post
Image for post
王小波身后的电脑,应该是一台ibm pc兼容机 286
Image for post
Image for post

王小波在《科学的美好》中写道:

我现在既不是化学家,也不是数学家,更不是物理学家。我靠写文章为生,与科技绝缘 — — 只是有时弄弄计算机。这个行当我会得不少,从最低等的汇编语言到最新 潮的C++全会写,硬件知识也有一些。但从我自己的利益来看,我还不如一点都不会,省得整夜不睡,鼓捣我的电脑,删东加西,最后把整个系统弄垮,手头又没 有软件备份。

可见,王小波是软硬兼施的极客(geek)。根据他的外甥姚勇回忆,他还自己开发了中文编辑器和输入法。值得一提的是,姚勇就是王小波文《我怎样做青年的思想工作》中提到的那个外甥,毕业于清华大学,后来加入了水木年华一年。水木年华之前的另一名成员李健,也是一名理工背景投身文艺的男青年。

说到IT,在姚勇看来,舅舅可是个编程高手。在他刚进入清华电机系,对编程还不熟悉的情况下,舅舅已在用C++写自己的中文输入系统、中文编辑器和多媒体系统。

那么在90年代初的时候,王小波自己写的编辑器会是什么样子呢?

为了搞清楚这个问题,让我们先来回顾一下90年代初的操作系统和电脑上的编辑器。

根据资料显示,王小波直到1993年才卖了一台286。之前就是在IBM XT机上工作。而苹果的Macintosh对于中国人来说,过于昂贵。

1992 年 10 月。

我现在从我哥哥那里弄了一套 TurboC++,软件方面暂时没有问题了。只是 286 还没买,因为听说中国要加入关贸总协定,这类东西要掉价;有钱先买家具。无论如何,我是用不到 486 的,因为要 286 也不是为了追求高速度,主要是要解决内存问题。我现在软件写得出神入化,大概 8088 上能做到的一切,我都做到了。自己觉得该告一段落,去写小说了。

众所周知,微软出的windows操作系统,windows 95直到1995年发布以后,才成为了真正意义上的图形界面的操作系统,有了图形用户界面(GUI)。

Linux第一个发行版本是1991年,王小波应该没有机会这么早接触到。所以王小波使用的机器和操作系统只能是IBM 8088 XT和磁盘操作系统(MS-DOS)。笔者90年代初在自己家长单位用的电脑也只是IBM PC/AT,有一个或两个5寸的软盘驱动器,硬盘只有区区20M。

Image for post
Image for post

从王小波的日记里看到,他用Turbo C编写C程序。对于90年代使用过计算机的人来说,Borland Turbo C一定不会陌生。Turbo C是美国Borland公司1987年推出的一款集成开发环境(IDE)。集成开发环境,顾名思义,就是集编辑,编译,运行,调试等功能于一身。1990年,Turbo C被Turbo C++ 3.0取代。

Image for post
Image for post
Image for post
Image for post

1992 年 1 月。

编译程序一盘(有说明书,见 shou),源程序一盘。我的音典与严氏同名内容不同。功能上与严氏的近似,但是多了改进拼音字典的功能。按 F4 后可以把拼音重定义。也可加字,在拼音拣字时,按 enter,就进入国标拣字,拣到的字加入字典。这个软件由五个c语言(另有两个头文件)和一个汇编语言文件组成,可用 turboc 编译,但是汇编部分不必重汇了,可以把汇编文件写成的部分形成的 obj (我的磁盘上叫 wk5.obj)放到硬盘上,与其它c语言文件分开,用 turboc 的 commandline 编译器编一下,

用Turbo C编写编辑器,由于Turbo C集成开发环境,本身自带的编辑器就比较强大,操作起来就很方便了,自带查找替换工具。但是没有汉化的Turbo C,对汉字的支持比较不好。王小波写的程序,大概是在处理汉字字符(双ASCII字符)上面下了些功夫。

说到DOS下面的编辑器,有个命令行下编辑器MS-DOS Editor,命令就是edit.com。DOS 5.0以后,edit就是软件包里面的一个命令了。DOS 7(windows 95)以后,MS-DOS编辑器成为一个独立的运行程序。大家熟悉的快捷方式ctrl-c, ctrl-v就是在新版的MSDOS Editor里用到的。

Image for post
Image for post

说到文字处理软件,著名的有WordStar,WordStar是一套早期的文字处理软件,由MircroPro International公司开发。在上个世纪80年代占文字处理软件统治地位。国内还有汉字版。90年代后期,则逐渐为Microsoft Word取代。

Image for post
Image for post
Image for post
Image for post

值得一提的是,国产的著名文本编辑器WPS,其最初版本是由香港金山公司1988年发布的,由著名程序员求伯君编写。后续版本还支持鼠标。金山公司在求伯君退休之后,由雷军执掌。

话说回来,王小波作为一名自学成才的程序员,水平应该赶不上以编写软件为业的求伯君等专业人士。所以王小波自己写的编辑器,应该跟大学生完成数据结构作业时候编写的编辑器差不多,功能包括拷贝,粘贴,插入,撤销,块拷贝等基本功能。而又因为是在上世纪90年代初期,基于DOS操作系统的命令行操作方式,鼠标支持应该还不在考虑。

随着时代的变迁,这些DOS下面基于命令行的编辑软件,距今已经20年了,它们都被Windows下基于GUI的编辑软件,比如wordpad,editplus,ultraedit等取代了。而Linux下面基于命令行,且不需要借助鼠标的编辑软件,如vim,nano,emacs等,至今仍然有着强劲的生命力。

Image for post
Image for post
UltraEdit
Image for post
Image for post
vim
Image for post
Image for post
Nano

我猜在王小波的年代,他基于DOS命令行开发出来的编辑软件,大概就跟Turbo C的编辑界面类似,或许也有点像vi的操作界面吧。

Image for post
Image for post

王小波在《科学的美好》一文中称赞了一番Internet。王小波1997年去世,或许早期接触了互联网,或者没接触过互联网。假设王小波要是生活在有互联网的今天,会是一种什么样的景象呢?

科学的美好,还在于它是种自由的事业。它有点像它的一个产物互联网(Internet) — — 谁都没有想建造这样一个全球性的电脑网络,大家只是把各自的网络连通,不知不觉就把它造成了。科学也是这样的,世界上各地的人把自己的发明贡献给了科学,它就诞生了。这就是科学的实质。

我们的 pc 机还没有和 Internet 连上。本来中国有几个国内网发展得很快,现在又出了问题,谁要上 Internet,必须到有关部门去登记,留个案底,以备当局监控,很有一点监狱的气味。我还不想找这份麻烦,再说,通过 Chinanet 联网,每月也要交七八百的月费,我也没有这么多的钱。既然×反对信息时代,我们就不进这个时代罢,有什么法子。所以还是写信好了。

自由撰稿人,时评人,平等公义追求者

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store