上次聊了 Fabrice Bellard,一个法国人用C代码改变了世界。今天聊聊咱们中国自己的传奇程序员——求伯君。
搞技术的对 WPS 肯定不陌生,但很多人可能不知道,这个软件最早是一个人用汇编语言手搓出来的,整整 12万2千行代码,历时一年零四个月。没有团队,没有开源库,没有 Stack Overflow,甚至找不到人讨论。这个人就是求伯君,江湖人称“中国第一程序员”。
数学满分进国防科大
1964年,求伯君出生在浙江新昌县。1980年高考,他数学满分,考入了国防科技大学信息系统专业。16岁的小伙子,数学拿满分进了国防科大,起点已经很不一般。
更猛的是,1983年他还是学生时,就独立开发了国防科大图书馆管理系统,消息直接登上了《长沙日报》,在学校里成了名人。
9天写完一套程序,惊动金山老板
1986年毕业后,求伯君被分配到河北省徐水县石油部物探局。按部就班的日子过了两年,有几个从深圳来的实习姑娘到厂里,求伯君喜欢上了其中一个。他做了一个非常程序员式的决定——辞职,追到深圳去。
辞职前先去北京找朋友,朋友知道他编程厉害,引荐他给四通公司写套程序。9天,搞定。四通花2000块买下版权,邀请他加入。
更关键的是,在四通帮忙那几天,他遇到了香港金山老板张旋龙。张老板有一批电脑出了问题,叫了几个人都没搞定。求伯君接手,一晚上全部解决。张旋龙当场就记住了这个年轻人。后来求伯君到了深圳,正式进入金山公司。
闭关14个月,汇编手搓WPS
1988年,求伯君24岁。他一直有一个执念:中国人为什么不能有自己的中文办公软件?
那个年代,DOS系统上没有一款好用的中文文字处理软件。外国软件不支持中文,国内又没人做。求伯君让老板在深圳蔡屋围酒店给他开了一间房,然后把自己关了进去。一台386电脑,一个人,开始干。
这一关就是一年零四个月(1988年5月到1989年9月)。看看他的开发状态:
| 状态 |
描述 |
| 日常 |
醒着就写代码,困了睡一会儿,饿了泡面 |
| 语言 |
x86 汇编语言 |
| 工具 |
一台386 PC |
| 团队 |
只有他自己 |
| 生病 |
三次因肝炎住院 |
没错,他在14个月里住了三次院。最狠的是第二次——肝炎复发,正好是开发最关键的阶段,他直接把电脑搬到病房里继续写。
求伯君后来自己说,开发之苦不在生病,不在疲惫,而在于孤独:
“有了难题,不知道问谁。解决了难题,也没人分享喜悦。”
搞底层开发的兄弟们可以品品这句话。一个人写十几万行汇编,这种孤独感,只有独立啃过硬骨头的人才懂。
最终,12万2千行汇编代码,WPS 1.0横空出世。
说说12万行汇编到底意味着什么
很多朋友可能对“12万行汇编”没有直观概念,咱们从开发者的视角拆解一下。
第一,这是汇编语言,不是C。 写过汇编的都知道,C语言一行可能对应汇编几行到几十行。但反过来说,用汇编直接写12万行,意味着你要亲手管理每一个寄存器、每一次内存访问、每一个中断。没有 malloc(),没有 printf(),没有标准库帮你兜底。
第二,这不是一个驱动或者一个协议栈,而是一个完整的应用软件。 WPS 1.0包含:
- 完整的中文字符输入和显示
- 文字排版引擎
- 打印机驱动适配
- 文件管理系统
全部用汇编从零写起。
第三,是在386上开发的。 没有IDE,没有现代意义上的调试器,没有版本控制。改错一个字节可能就要花半天去定位。
做过嵌入式底层开发的同学应该能感受到:用汇编写12万行功能完备的软件,难度堪比从零搓一个微内核。
装机2000万台,垄断整个中国市场
WPS 1.0发布后,效果炸裂。在DOS时代,WPS几乎成了中国电脑的标配。政府机关、企事业单位、学校、个人用户——只要有电脑,就有WPS。
装机量超过2000万台,市场份额接近100%。那个年代,“电脑 = WPS”,就像今天“手机 = 微信”一样,是国民级的存在。求伯君也因此被称为“中国第一程序员”、“WPS之父”。
微软来了:一场不对等的战争
好日子没过太久。1993年前后,微软杀进中国市场。
微软做了一个很“聪明”的操作:主动找到金山,提出WPS和Word进行文件格式互换——WPS能读Word文件,Word也能读WPS文件。金山同意了。
看起来很公平,对吧?但这恰恰是致命的一刀。因为一旦格式互通,用户可以无缝迁移到Word。而微软的Word捆绑在Windows上,装系统就自带了。WPS呢?你得单独去买、去装。用户当然选择更方便的那个。
WPS的市场份额开始断崖式下跌。
盘古失败,金山跌入谷底
为了应对微软,金山从1993年起集中全部力量开发了一个Windows版办公套件——“盘古组件”。这个项目投入了金山几乎全部资源,希望能正面刚赢微软Office。
结果,1995年发布后,惨败。 市场不买账,销量远低于预期。
盘古的失败对金山的打击是毁灭性的:
- 几百人的公司走得只剩十几个人
- 工资都快发不出来了
- 连雷军都准备离开
整个金山濒临倒闭。
卖掉别墅,重写WPS
在最绝望的时刻,求伯君做了一个让所有人震惊的决定:他把张旋龙送给他的别墅卖掉了,把钱全部投入WPS的重新开发。
1996-1997年,求伯君带队重写WPS,推出了WPS 97。更有意思的是发布的时机——WPS 97发布当天,正好是比尔·盖茨来中国访问。央视《东方时空》特意把求伯君请去,面对面聊WPS 97如何挑战微软Word。
求伯君说了一句后来广为流传的话:
“除非国家吹响了撤退的‘集结号’,否则金山永远不会放弃WPS。”
这不是商业竞争,这是民族软件保卫战。
雷军:被求伯君“忽悠”进金山的男人
说求伯君就不能不提雷军。1991年11月4日,在一个计算机展览会上,求伯君穿着一件拉风的大风衣,和刚从武汉大学毕业不久的雷军第一次见面。
求伯君邀请雷军加入金山。雷军后来回忆说:
“被他那件大风衣的形象忽悠住了,进了公司才想起来问工资和股份。”
此后,雷军在金山一干就是16年,从程序员做到总裁。在金山最艰难的时候,是求伯君和雷军一起扛了过来。1998年,联想以450万美元投资金山,求伯君提拔雷军当副总裁。
2011年,求伯君正式退休,把金山交给了雷军。2018年,金山创业三十年庆典,求伯君、雷军、张旋龙三人在台上相拥而泣。三十年风雨,一句“兄弟”就够了。
WPS的逆袭:从濒死到5亿用户
求伯君退休后,WPS并没有停下脚步。关键转折点是2005年——全新架构的WPS Office 2005发布,并且宣布个人版永久免费。
这招太狠了。免费+小巧+兼容Office格式,WPS重新杀回了战场。
后来的事大家都知道了:
- 2019年,金山办公在科创板上市,市值一度超过千亿
- 全球月活跃用户超过5亿
- 移动端WPS成为最受欢迎的办公App之一
从一个人的汇编代码,到5亿人的办公工具。这条路走了30多年。
一个你可能不知道的求伯君
除了WPS和金山,求伯君还有一些很有意思的侧面:
爱玩游戏——1994年他因为自己喜欢玩游戏,主导开发了《剑侠情缘》系列,后来发展成大名鼎鼎的《剑网3》。
武当弟子——2005年,求伯君拜武当三丰派第十三代内家拳传人为师,成为武当派嫡传俗家弟子。一个程序员跑去学武当功夫,这画风也是没谁了。
极其低调——退休后几乎不公开露面,偶尔在金山的重大场合出现。
最后说两句
Fabrice Bellard 是一个人改变了全世界的技术基础设施。而求伯君,是一个人开启了中国的数字化办公时代。
两个人有很多相似之处:
|
Fabrice Bellard |
求伯君 |
| 核心语言 |
C / 汇编 |
x86 汇编 |
| 代表作 |
FFmpeg、QEMU |
WPS |
| 开发方式 |
一个人写 |
一个人写 |
| 代码量级 |
精简极致 |
12万行汇编 |
| 性格 |
极度低调 |
极度低调 |
但求伯君更让人感慨的是那份坚持。Bellard 面对的是技术挑战,他想做一个东西,就去做了,做完就走。求伯君面对的不仅是技术挑战,还有微软这座大山。一个几百人的小公司对抗全球软件霸主,公司差点倒闭,人都快走光了,他卖掉别墅也要把WPS做下去。
这不是“Just for fun”。这是“不能让中国人没有自己的办公软件”。
在那个中国软件产业还在萌芽的年代,有这么一个人,用一台386和十几万行汇编代码,点燃了中国程序员的星星之火。
做技术的朋友们,下次你用WPS写文档的时候,想想这软件最早是一个24岁的程序员用汇编一行一行敲出来的。这种从零到一的创造力和毅力,正是技术人最宝贵的财富。想了解更多这样的技术故事与极客精神,欢迎来云栈社区的开发者广场交流分享。
致敬,中国第一程序员。
