分享

《红拂夜奔》在286 PC 机上,王小波写的码字程序长啥样?

 新华书店好书榜 2019-05-04


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

王小波身后的应该就是他经常提起的那台 IBM-PC 兼容机286,硬朗的线条构建起《黑铁时代》中的想象;有了286之后他原来用的 XT 应该给李银河用了

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

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

可见,王小波是软硬兼施的极客( Geek )。根据他的外甥姚勇回忆,他还自己开发了中文编辑器和输入法。 “ 说到 IT ,在姚勇看来,舅舅可是个编程高手。在他刚进入清华电机系,对编程还不熟悉的情况下,舅舅已在用 C++ 写自己的中文输入系统、中文编辑器和多媒体系统。 ” 姚勇就是王小波文《我怎样做青年的思想工作》中提到的那个外甥,曾经加入水木年华,再后来做起邪恶的游戏 “ QQ 炫舞 ” 。

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

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

根据资料显示,王小波直到1993年才买了一台286。之前就是在 IBM-XT 机上工作。而苹果的 Macintosh 对于中国人来说,过于昂贵。要维修起来难找配件则成本更高。

1992 年 10 月:

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

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

Windows 95是我们现在听的 Vapor Wave的视觉一脉


那么,什么是 Vapor Wave?


好奇者回头可以点击图片去看看


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

古老的微机的确很适合进行考古挖掘

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

Turbo C 和 Turbo C++ 的界面

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 里用到的。

MS-DOS Editor 界面

说到文字处理软件,著名的有 WordStar , WordStar 是一套早期的文字处理软件,由 MircroPro International 公司开发。在上个世纪80年代占文字处理软件统治地位。国内还有汉字版。90年代后期,则逐渐为 Microsoft Word 取代。类似的古代文字处理软件还有 WordPerfect 等。在 Word 统治世界之前主要是这两者在分摊市场,记忆其与 Word 的 ctrl-c 不同的快捷键系统也是很多老炮程序员炫耀的资本。

WordStar 等所有这些命令行下的文字处理软件让人想起《银翼杀手》

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

金山和求伯君是很多早期程序员的偶像

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

随着时代的变迁,这些 DOS 下面基于命令行的编辑软件,距今已经20年了,它们都被 Windows 下基于 GUI 的编辑软件,比如 Wordpad, editplus, ultraedit 等取代了。而 Linux 下面基于命令行,且不需要借助鼠标的编辑软件,如 Vim, nano, emacs 等,至今仍然有着强劲的生命力。不过很多经典的命令行文字编辑器和文字处理器,都在 Linux 下出现了开源或者重新编译的近似版本;而在现代 GUI 窗口下写作也有很多小黑屋写作软件如 FocusWriter 和 Q10 或者 Pyroom 来选择。

大多数的复古的命令行文字处理器对中文支持还是不好,尤其在换行的时候。图为 WordGrinder 一个专注于命令行下写作的现代软件

JOE 属于 WordStar 在 Linux 下的克隆版。同样的还有调换了名称字母顺序的 WordTsar 等

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

王小波做的编辑器大概就是这样

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

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

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

作者:Moreless 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多