为什么 Word 必须死?
这是苏格兰科幻小说家CharlieStross发表在自己博客上的文章。
我恨微软的Word。我想要它死。我怀着炽烈如火的热情恨Word。我像温斯顿·史密斯(WinstonSmith)恨老大哥一样恨Word。惊人的是,我们仇恨的理由是差不多的……
Word是想像力的暴君:一个心胸狭隘、才思衰乏、反复无常的独裁者。它不适合给任何从事创造性写作的人使用。更糟的是:它是几乎垄断的,在文字处理领域有绝对优势。它无处不在的垄断地位对软件开发者构成了洗脑,只知道肤浅地模仿那只盘踞在雷德蒙德(编注:微软总部所在地)的比蒙巨兽,很少有人能自己去设想出一个文字处理工具。但是,它到底有什么问题呢?
我使用文字处理和文本编辑器已经将近三十年。有那么一段时期,在被Word统治以前,市场还有足够的开放度接纳各种思路,因而有许多截然不同的文本制备和格式制作思维在竞争着。早期一个格外有效的组合是,制作一个包含内嵌命令或宏指令的文本文件——可以用程序员的文本编辑器(比如ed或teco,还有后来的vi或emacs),接着再放到各种工具里去:离线拼写检查器、语法检查器,还有scribe、troff和LaTeX之类的格式编排器,它们可以把页面制作成一个能供打印机下载的二值图片。
这些工具快捷、强大、优雅,对用户要求极苛刻。在第一批8位个人电脑出来的时候(主要是AppleII和竞争对手CP/M的系统),有程序员尝试开发一种叫做文字处理器(wordprocessor)的混合工具:一种面向屏幕的编辑器,可以让作者不用理会复杂、不友好的打印机控制命令,代以在屏幕上可见的高亮字符,只有在用户要程序「显示代码」的时候才会显示。最早出现的是WordStar之类的程序,到了1980年代,WordPerfect加入了在分屏视图下同时编辑两个或更多文件的能力,成了那时的市场主流。
而在1970年代末、80年代初,麻省理工和施乐(Xerox)的帕罗奥图研究中心开始开发一些工具,用来丰富一些工作站的图形用户介面,比如XeroxStar和后来的AppleLisa、Macintosh(最后还有新加入的仿制品MicrosoftWindows)。一场持续至今的派系争斗爆发了。其中一派想要用经典的内嵌代码模型,并把它升级成一种图形化位图呈现:你得选择一段文字,把它标记为「斜体」或「粗体」,文本处理器会把控制代码嵌入到文件里,等到打印的时候,它可以在送到打印机那一刻改变字型。而另一派想要用一种更强大的模型:层级样式表。在一个样式表系统里,文本的单位——词语或段落——是用样式名称标记的,样式包括了一套属性设定,在打印的时候会应用到文字上。
微软在1980年代初是一家个人电脑软件公司,最出名的是BASIC解释程序和MS-DOS操作系统。史蒂夫·乔布斯在1984年找到比尔·盖茨,要他为新的Macintosh系统写应用软件,比尔同意了。最初的一批合作项目里,有一项是组织开发首个针对个人电脑的、真正的所见即所得文本处理器——MicrosoftWordforMacintosh。内部的争论非常激烈:应该用控制代码,还是层级样式表?最后,裁决出来了:Word将同时施行两种格式范型。两者根本上是互不兼容的,在一个样式为本的文档里应用简单的字符格式,或反过来,都可能会造成可怕的混乱。Word的设计其实从一开始就是残的——而后一直往更糟的方向发展。
到了1980年代末、90年代初,微软在软件世界形成了接近垄断的地位,一头比蒙巨兽成形了。整个产业都见识了(且畏惧)它的一个战术:拥抱和扩张。一旦遇到一种成功的新型软件,微软就会买下在那个领域的一家一流公司,投入资源把它们的产品整合到微软自己的产品生态里去,需要的话还可以用低于成本的价格把它抛出去,把竞争对手赶尽杀绝。Word的成长过程中合并了许多新的子系统:邮件合并、拼写检查、语法检查、提纲处理。所有这些曾经都是成功的小规模产业,彼此竞争的产品厂牌构成了一个活跃的社群,大家都努力做出更好的产品,好去争抢别人的市场份额。但是微软一个接一个地进入这些行业,把其中的一个竞争者放到Word里去,结果既终止了竞争,也制约了创新。微软去掉了Windows上的提纲处理器(outlineprocessor);拖延了语法检查工具的开发,让拼写检查器停滞不前。这是整整一大片坟场,里面葬着的全是曾经很有希望的新软件生态系统,坟场的名字叫Word。
随着产品的成长,微软开始把它们的「拥抱和扩张」战术用在强迫用户升级上,通过定期改变程序使用的文件格式让用户离不开Word。在文件操作上,Word的早期版本和WordPerfect等竞争对手是可以很好地互通的,能导出和导入其他程序的文件格式。但在Word建立起统治地位后,微软不停地改变文件格式——Word95、Word97,然后是2000,再接着是2003,近年又有一次。每一个新的Word版本都会默认给用户书写的文件用上新格式,导致这些文件用旧版程序无法解析。如果要跟别人交换文档,你可以尝试用RTF格式收发——但是一般的商务用户大多根本搞不清「另存为…」对话框里那些文件格式,你要想和别人合作,就得定期向微软缴纳丹麦金(编注:英国中世纪为抗击丹麦入侵者而设的一种土地税),哪怕新加入的特性对你没有任何用处。而.doc也是个精心、刻意地让人看不懂的文件格式:它不是个包含格式和宏指令元数据的可解析文档,而是个事实上的垃圾堆,里面装满了Word使用的内存数据结构,还有指向提供格式或宏指令支持的子程序的指针。「快速保存」在应用的内存状态里附加了一份文档改变日志,让情况进一步恶化。要解析一个.doc文件,你基本上需要写一份Word的迷你实现。这不是个数据文件格式:这是个噩梦!到了21世纪,他们企图做一些改善,用一个XMLschema代替……但是不知怎么居然还更差了,开始用XML标签来指向Word代码库里的回调,而不是把文档语义本身体现出来。很难想象微软这么一个庞大且(通常)管理得力的企业是不小心犯了这么一个错误……
这种「刻意规划出来的报废」对绝大多数企业是无所谓的,因为一份商务文档的平均寿命不到6个月。但有的地方是需要保留文档的。法律、医疗和文学这些领域,对一份文档的寿命预期动辄几十年、甚至几个世纪。微软的商业行为会损害这些用户的利益。
而且Word也并不易用。它的介面繁复而介面盘根错节,把容易变成困难,困难变成几乎无法实现。它能保住技术能人的饭碗,却让那些长于思考的人一头雾水。这些人想着的是把注意力放在手头的工作上,而不是那些用来完成工作的工具。它把自己对文档应该如何构建的观念强加于写作人,但这个观念针对的是商务信函和报告(它的主要用户正是做这些工作的)。它的校对工具和改动跟踪机制也十分繁复,毛病很多,而且没法用于真正的协作文档制备;它的提纲和标号功能以一个小说家或论文作者的标准而言粗糙得让人看不下去:它的语法检查功能是个普洛克路斯忒斯式的削足适履独裁者(编注:普洛克路斯忒斯是希腊神话中的强盗,他开设黑店,店内设一张铁床。路过旅客投宿时,将身高者截断,身矮者则强行拉长,使与床的长短相等),要不是它坚守的那套幼稚无聊的商务写作风格已经深入人心,它根本就只是个笑话。
但这些并非我希望MicrosoftOffice死掉的原因。
我希望Word死掉是因为它一天不死,就一天都无法避开。我不用Word写小说。我用其他许多种工具,有Scrivener(一个可以管理文档结构和编辑大群文档的软件,如果说Word是一个基础文本编辑器,那么Scrivener可以比作一个程序员的集成开发环境),也有Vim这样的传统文本编辑器。但是,各大出版社都已经被吓得认定Word就是文档生产系统必不可少的一环。Word的.doc文件对编辑或排版类工作是不适合的,但出版社还是把它当成了基底材料,导致整个生产流程都是扭曲和腐朽的。然后它们还指望我去把自己整合到一个以Word为中心的流程里,也不看看对于这份工作,它是多么不恰当的、破坏性的、费力的一个工具。它就是个避不开的东西。更糟的是,由于它的显赫地位,我们已经无力看到对文档创建工具有哪些改进的可能性。它已经阻碍我们将近25年了;希望我们能尽快找到更好的东西来取代它。