第一代程序员王小波,最会编程的作家

嵌入式ARM 2021-05-27 10:11




著名作家王小波已经逝世24周年的日子。大家都知道王小波是作家,却很少有人知道他是个程序员。很多人都听过那句“你好哇,李银河。”却不知道程序员人生中第一个代码是“Hello world”。但写出:“那一天我21岁,在我人生中的黄金时代。我有好多奢望,我想爱,想吃,还想在一瞬间变成天上半明半暗的云”的就是那个特立独行的且会自己写程序的王小波。

“我闲着没事搞了个发明。”1991年5月,王小波在自己的博客上写下了这句话。他可能是中国最早写科技博客的人,也是中国第一代程序员。


他的这个发明,是自行研发的输入法。这只是王小波所写的软件之一,他对自己写的软件很得意:我现在软件写得出神入化,并做出了各种写小说的工具,别人的软件已不用了。


他就是用这套软件写出了名垂中国当代文学史的《王二风流史》和《红拂夜奔》。



王小波大学在人大学的是贸易,毕业后在人大当了几年老师,后来去了美国匹茨堡大学读经济的研究生。学成归国,王小波接着又回到人大做统计学的讲师。

因为做统计,各种分析工具是必不可少的,以前人手工计算,有了计算机当然最好使用计算机。

90年的时候,软件相当稀缺,电脑又相当不智能。王小波不得不自己写软件,当然开发软件也不是那么简单,所以他先是学会了FORTRAN,汇编,C等各种语言,接着又要学习数据结构,算法的相关知识,还有编译原理。

在做出中文编辑器和输入法,解决了自己的需求之后,王小波对写软件的兴趣已经没有多少了。因为他觉得写软件可以赚钱,写小说同样也可以赚钱。出于一个程序员的修养,王小波还是不断地从数据结构和算法来优化这两个软件。

王小波小说里的男主角基本都是理工男,除了天天意淫还有一些奇怪的想法,其中一些还有自己的发明。

比如《未来世界》里的王二是个工程师,整天想着和单位一起研制的永动机,还有《红拂夜奔》里的李靖发明过一个巨大的开跟号机器,在战场上,这台机器运转起来挥舞着杠杆边开跟攻击敌人,有的人死在根号3下,有的人倒在了根号5下。

以下内容是从王小波和朋友的书信里收集了他所做软件的各种信息,汇集起来,可以了解小波在软件方面的造诣。


1988年12月。回来之前我曾往人大一分校计算机站写过一封信,问他们可要带什么软件,主管的工程师回了封信,我没收到。回来之后人家还提到此事。现在国内软件一面混乱,又逐渐有形成市场之势。首先以年兄学统计这一事实来看,回来做事非有会用的软件不可。Macintosh根本就没打进中国市场,你非带几个可用的IBM微机软件回来不可。至于什么机器上能使倒不必太担心。我这个狗屁计算机室,IBMPS/2就有二台。AT机也不少。SASSPSSStatistx都有,可代表国内上等一般统计微机房的水平,可就是少了一种宜于作统计的语言。年兄如有APL(Aprogramminglanguage)之IBM微机本,可给我寄copy来。我在美还有一个户头,连manual复印费一并写支票给你们。Glim我也没有,如年兄有便人可捎来。邮寄太贵,能省就省吧。

1990年1月。我现在正给北大社会学所做统计,手上除SPSS没有可用的软件,国内这方面很差。我现在会用FORTRAN,编统计程序不方便。闻兄谈起你们用S语言,不知是否好用。工具书也不知好找不。不管好歹,烦兄找个拷贝给我,要就算了。照我看只要能解决各种矩阵运算就够:当然也要有各种分布函数。反正也是瞎胡混,我就算努把力,少混点吧。

1990年5月。晓阳到底也加入了IBM的行列。照我看,苹果机还是买不得。因为IBM-PC的兼容机队伍庞大。INTEL又总能推出新一代CPU,将来还有大发展。买微机钱的投资是大事,时间、精力投资更为巨大,买386兼容机是明智之举。我最近可能调入人大,投奔班长。最近胡思乱想想出了个理论来,还没认真推导,大抵是设立多个Dummy(两分变量)构成的联合分布,其合计样本点构成一球面,点到点的距离以总误差计算。所以一样本点的对点就是它的否,误差最大。其余的正在想。

1991年2月。兄谈及IBM中文软件不可用,估计是图像版有问题,可至有Colormonitor之机器上一试。Mac机国内亦有,唯不及美国多也。

1991年3月。你寄来的严氏2.0A我也收到,还没用。因为一者是3盘要倒,二者我自己写的WK也有重大进展。我也自做了词组功能,是棵B树,我觉得自写的软件自用,感觉是最好的。词组用处不是很大,主要用于定义人地名等专有名词,但是严氏软件对我还是有重大启示,拼音加四声是个极好的主意,写起东西来声韵铿锵,与其他软件大不一样。自写一遍,从分页到编辑键分配,都能合乎自家习惯,不是存心狗尾续貂也。如能见到严氏,可代为致意。

1991年5月。前次寄来软件,上机一试发现非有浮点处理机不能运转。因为缺少软件,国内机器一般不装协处理机,冷不丁撞出您这一件来,搞得不大有办法。

1991年5月。闲着没事搞了个发明。原有中文软件是用线扫描方式出汉字。我做了一个用调整字模发生器方法出汉字的系统,自以为很优越,可惜还未找到用户。用此法可以很容易地在西文软件上出中文窗口,还在SPSS上加了几句骂娘的话。

1991年9月。晓阳托人带来软件,周转很多日才到手里,软盘有些污损,坏一片烂一套,不可用矣。但是十分感念晓阳的好意。去年托人带来的中文软件(严氏By×),我用着尚好,而且又用C语言仿编了一个,程序是我的,拼音字典是人家的,执此招摇撞骗,骗了一些钱。干这个事,熟悉了C语言,都是拜小阳所赐。

1991年9月。不过现在我对微机已无兴趣,因为发现写小说也可赚到钱。

1992年1月。编译程序一盘(有说明书,见shou),源程序一盘。我的音典与严氏同名内容不同。功能上与严氏的近似,但是多了改进拼音字典的功能。按F4后可以把拼音重定义。也可加字,在拼音拣字时,按enter,就进入国标拣字,拣到的字加入字典。这个软件由五个c语言(另有两个头文件)和一个汇编语言文件组成,可用turboc编译,但是汇编部分不必重汇了,可以把汇编文件写成的部分形成的obj(我的磁盘上叫wk5.obj)放到硬盘上,与其它c语言文件分开,用turboc的commandline编译器编一下,命令如下: tcc-mc-ewka:wk*.ca:wk5.objgraphics.lib 形成wk.exe,但是必须有yindian,cclib,egavga.bgi三文件支持才工作。*.bgi是图象板参数表,可以包括到*.exe内的。但是要改改程序。你的机器好。我还用个老掉牙的XT机,简直落伍了。turbo.c你一定能找到。假如你用过其它c软件,有一点要提醒你,turbo.c有一种极讨厌的特性,就是你在一个函数内alloc的内存,退出该函数时不会自动释放;还有一点也很糟,就是模型问题,在大模型下写的程序,到了小模型上一概不能用,我的程序是在compact模型下写的,就不能用small来编译,这两条是可以气死人的。据说可以用far,near之类的前缀说明指针,其实是屁用不管。我干了一年多c,得到的结论是微机c还不能使人快乐,有时叫人怀念汇编。f1是提示键。我的打印机有汉卡,F5你恐不能用。这个打印机是人家借给我的,性能非常之好,(美国amt-525);但是不知能用多久。这个程序我还在修改中。与严氏的软件比,在硬的方面的优点是达到了很好的紧凑性,现在编译后是55k,扩展余地大。缺点是图象更新没他的快(在我的老爷机上可以看出区别),不知他是怎么搞的,我很佩服。我的图像部分也是汇编写的,反复优化,也达不到他的水平,不得不承认技不如人。另外,磁盘文件的处理,我也写不好。还要请阳公指教。

1992年7月。小阳的信又用MAC机,看来你的机器不少,可喜可贺。我这一台老PC/XT,用了六年换不下来,太惭愧,近来老想狠狠心,花几百块买个286主板换上,老婆又不同意,真是要命了。我自编软件又有进展,把一部分程序递归化,出现了很新奇的特征。等我换了286,就需要能写虚址方式的C语言了,未知晓阳能否找到?

1992年9月。你给我寄的软件因为是三寸盘,在这里很不通用,所以我也没用。盘上有什么,至今不知。我用C编的软件已经用熟,并做出了各种写小说的工具,别人的软件已不用了。现在主要是写书赚钱。从今年初开始写长篇,首先做了写长篇的专用软件,现在基本调通,开始写了。

1992年9月。递归论我没学过。我哥哥大概懂一些。我和你说的大概是计算机内的递归算法。我在美国读的书都是关于机器的。有关算法、数据结构等等,全在国内看的,也不知英文叫什么。在C语言里是指在一个函数(相当于其他语言的subprocedure)内调用同一个函数。一般程序书里都能查到。所谓保护方式,是指286protectedmode。因为一般的IBM机器,不管是386,486,只要是dos操作系统,实际能操作的内存只是640K,相当于一个较快的PC机。想要用到640K以外的e×tendmemory,只有用pretectmode才能用上,我打算换286,还是想用多于640K的内存。这就要有比现在的C更好的编程工具。当然,我也不一定要用到保护方式,有各种EMS软件,不过我还是想往多里捞摸,多留一手。MSC我只见过5.0版,7.0版的性能还不知道。不过我猜现在流行的C应该有这些手段,到这时候了。我有一段时间很关心personalcomputer的发展,属于想玩玩不到过干瘾的那种。这路东西的发展都是由处理机片芯的发展开始。从8088到286,386看文献就知道快了很多。从实用的角度来看,286多了虚存保护,386又多了很多用户多任务手段。486据说把386,387,和64K的高速缓存集成到一个片子上,不但整数运算快,浮点也快多了。不过不做科学运算,意义就小了。586还不知道是个什么东西,想必有惊人之处。不过到了我手上用作文字处理,也是暴殄天物。我有个286用用就算行了。太好的东西我也使不出来。听说美国微机多媒体搞得甚火,微机接电视,音响,vedio等等。这玩艺听上去倒是蛮有意思的。

1992年10月。当时不知道你为什么这么干,原来是机器坏了。居然叫人敲去150dollars,老兄真是有钱。这种事叫我遇上,肯定自己修了。现在的微机修理都是换线换板,机器一坏,先找块表量量是不是电源坏了。只要不是电源坏,估摸是哪部分不好,就去买块版换上。送出去也是这么修,还要敲你手工钱。我看150什么板子都能买来。万一自己故障没找对,就说人家的板子不好,退给他。我的机器里什么牌子的板子都有了,都像你那样挨人敲,还玩得起吗?这么弄,还能有点乐趣。比方说,你爱486,就去买块486主机板,把自己的主机板换下来,这种搞法不怕杂牌水货,坏了再换,反正便宜。我的问题在于这么搞都搞不起。

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

1992年11月。先有朋友把你寄来的软盘倒了一下,看看是数字,就没动它。记得原来有一套干这种事的软件,是你给的,但是盘坏过,再也找不到了。今天写了个小程序倒出来,拜读了大作,甚是有趣.

1993年3月。我终于下决心买了一台286,这些日子在改造软件,作了不少汇编工作。其核心是它在虚拟保护方式(virtualaddressprotected)下工作,以便利扩展内存(expandedmemory)。现在终于完全成功,我的软件现在可以编辑400K长的文件,可以把一部长篇小说全部调到内存里编写了。只可惜我这个机器还是低级,只有1MRAM,并且没有硬盘,所以也就到此为止了。这个程序的缺点是太低级,有大量对端口(port)的操作,虽然效率是高的,兼容性不会太好。我的XT机给山妻用了,算起来我用那台机器已经七年,就如一位老友,骤然割爱,如心头割肉

年份不详。我们的PC机还没有和Internet连上。通过Chinanet联网,每月也要交七八百的月费,我也没有这么多的钱。所以还是写信好了。




END

来源:ITPub

版权归原作者所有,如有侵权,请联系删除。

推荐阅读
用GD32替代STM32:温湿度采集传感器开发心得
手把手教会你:使用STM32F103驱动ST7567液晶屏
单片机经验:STC15W4系列6路专用PWM模块使用心得

→点关注,不迷路←
嵌入式ARM 关注这个时代最火的嵌入式ARM,你想知道的都在这里。
评论 (0)
  •   基于图像识别技术的数据库检索系统平台解析   北京华盛恒辉基于图像识别技术的数据库检索系统平台融合计算机视觉与数据库管理技术,实现智能化图像检索。以下从架构、功能、技术、应用及发展方向展开解析。   应用案例   目前,已有多个基于图像识别技术的数据库检索系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润基于图像识别技术的数据库检索系统。这些成功案例为基于图像识别技术的数据库检索系统的推广和应用提供了有力支持。   一、系统架构设计   数据采集层:收集各类图像数据,
    华盛恒辉l58ll334744 2025-04-26 16:02 169浏览
  •  集成电路封装测试是确保芯片性能与可靠性的核心环节,主要包括‌晶圆级测试(CP测试)‌和‌封装后测试(FT测试)‌两大阶段,流程如下:一、晶圆级测试(CP测试)1.‌测试目的‌:在晶圆切割前筛选出功能缺陷或性能不达标的晶粒(Die),避免后续封装环节的资源浪费,显著降低制造成本。2.‌核心设备与操作‌l ‌探针台(Prober)‌:通过高精度移动平台将探针与晶粒的Pad jing准接触,实现电气连接。l ‌ATE测试机‌:提供测试电源、信号输入及功能向量,接收晶粒反
    锦正茂科技 2025-04-27 13:37 161浏览
  • 在电子电路设计和调试中,晶振为电路提供稳定的时钟信号。我们可能会遇到晶振有电压,但不起振,从而导致整个电路无法正常工作的情况。今天凯擎小妹聊一下可能的原因和解决方案。1. 误区解析在硬件调试中,许多工程师在测量晶振时发现两端都有电压,例如1.6V,但没有明显的压差,第一反应可能是怀疑短路。晶振电路本质上是一个交流振荡电路。当晶振未起振时,两端会静止在一个中间电位,通常接近电源电压的一半。万用表测得的是稳定的直流电压,因此没有压差。这种情况一般是:晶振没起振,并不是短路。2. 如何判断真
    koan-xtal 2025-04-28 05:09 106浏览
  • 速卖通,作为阿里巴巴集团旗下的跨境电商平台,于2010年横空出世,彼时正值全球电商市场蓬勃发展,互联网的普及让跨境购物的需求日益增长,速卖通顺势而为,迅速吸引了全球目光。它以“让天下没有难做的生意”为使命,致力于打破国界限制,搭建起中国商家与全球消费者之间的桥梁。在其发展的黄金时期,速卖通取得的成绩令人瞩目。在欧洲市场,速卖通一度成为第一大电商平台。根据第三方机构《欧洲跨境商务》的评选,速卖通凭借出色的服务和消费者口碑,在“欧洲十大跨境电商平台”中脱颖而出,力压来自美国的亚马逊和eBay等电商巨
    用户1742991715177 2025-04-26 20:23 162浏览
  •   无人机部件仿真与模型验证平台系统解析   北京华盛恒辉无人机部件仿真与模型验证平台系统是无人机研发的核心工具,通过多元功能、创新架构和广泛应用,推动无人机技术发展。以下从核心功能、技术架构、应用场景、优势及发展趋势展开解析。   应用案例   目前,已有多个无人机部件仿真与模型验证平台在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润无人机部件仿真与模型验证平台。这些成功案例为无人机部件仿真与模型验证平台的推广和应用提供了有力支持。   一、核心功能   三维建模与可视化
    华盛恒辉l58ll334744 2025-04-26 16:39 234浏览
  • 探针台作为半导体制造与测试的核心设备,通过精密定位与多环境适配能力,支撑芯片研发、生产及验证全流程。以下是其关键应用领域与技术特性:一、核心功能支撑1.‌电性能测试与分析‌l 在晶圆切割前,探针台直接接触芯片电极,测量阈值电压、漏电流、跨导等200余项参数,用于评估良品率及优化工艺设计。l 支持单晶体管I-V曲线测量,定位栅极氧化层厚度偏差(精度达0.2nm),为器件性能分析提供数据基础。2.‌纳米级定位与测量‌l 定位精度达±0.1μm,满足5nm及以下制程芯片的
    锦正茂科技 2025-04-27 13:09 138浏览
  •     今天,纯电动汽车大跃进牵引着对汽车电气低压的需求,新需求是48V。车要更轻,料要堆满。车身电子系统(电子座舱)从分布改成集中(域控),电气上就是要把“比12V系统更多的能量,送到比12V系统数量更少的ECU去”,所以,电源必须提高电压,缩小线径。另一方面,用比传统12V,24V更高的电压,有利于让电感类元件(螺线管,电机)用更细的铜线,缩小体积去替代传统机械,扩大整车电气化的边界。在电缆、认证行业60V标准之下,48V是一个合理的电压。有关汽车电气低压,另见协议标准第
    电子知识打边炉 2025-04-27 16:24 160浏览
  • 一、智能家居的痛点与创新机遇随着城市化进程加速,现代家庭正面临两大核心挑战:情感陪伴缺失:超60%的双职工家庭存在“亲子陪伴真空期”,儿童独自居家场景增加;操作复杂度攀升:智能设备功能迭代导致用户学习成本陡增,超40%用户因操作困难放弃高阶功能。而WTR096-16S录音语音芯片方案,通过“语音交互+智能录音”双核驱动,不仅解决设备易用性问题,更构建起家庭成员间的全天候情感纽带。二、WTR096-16S方案的核心技术突破1. 高保真语音交互系统动态情绪语音库:支持8种语气模板(温柔提醒/紧急告警
    广州唯创电子 2025-04-28 09:24 106浏览
  • 探针台作为高精度测试设备,在光电行业的关键器件研发、性能测试及量产质量控制中发挥核心作用,主要涵盖以下应用场景与技术特性:一、光电元件性能测试1.‌光电器件基础参数测量‌l 用于LED、光电探测器、激光器等元件的电流-电压(I-V)特性、光功率、响应速度等参数测试,支撑光通信、显示技术的器件选型与性能优化。l 支持高频信号测试(如40GHz以上射频参数),满足高速光调制器、光子集成电路(PIC)的带宽与信号完整性验证需求。2.‌光响应特性分析‌l 通过电光转换效率测
    锦正茂科技 2025-04-27 13:19 112浏览
  • 晶振在使用过程中可能会受到污染,导致性能下降。可是污染物是怎么进入晶振内部的?如何检测晶振内部污染物?我可不可以使用超声波清洗?今天KOAN凯擎小妹将逐一解答。1. 污染物来源a. 制造过程:生产环境不洁净或封装密封不严,可能导致灰尘和杂质进入晶振。b. 使用环境:高湿度、温度变化、化学物质和机械应力可能导致污染物渗入。c. 储存不当:不良的储存环境和不合适的包装材料可能引发化学物质迁移。建议储存湿度维持相对湿度在30%至75%的范围内,有助于避免湿度对晶振的不利影响。避免雨淋或阳光直射。d.
    koan-xtal 2025-04-28 06:11 89浏览
  •   北京华盛恒辉电磁环境适应性测试系统是针对复杂电磁环境进行仿真、测试与评估的关键设备,以下从系统功能、技术架构、应用场景、核心优势、发展趋势五个维度展开全面解析:   应用案例   目前,已有多个电磁环境适应性测试系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润电磁环境适应性测试系统。这些成功案例为电磁环境适应性测试系统的推广和应用提供了有力支持。   一、系统功能   复杂电磁环境构建   全生命周期测试能力   实时监测与反馈   二、技术架构   模块化设
    华盛恒辉l58ll334744 2025-04-26 17:21 195浏览
  • 2025年全球人形机器人产业迎来爆发式增长,政策与资本双重推力下,谷歌旗下波士顿动力、比亚迪等跨国企业与本土龙头争相入局,产业基金与风险投资持续加码。仅2025年上半年,中国机器人领域就完成42笔战略融资,累计金额突破45亿元,沪深两市机器人指数年内涨幅达68%,印证了资本市场对智能终端革命的强烈预期。值得关注的是,国家发展改革委联合工信部发布《人形机器人创新发展行动计划》,明确将仿生感知系统、AI决策中枢等十大核心技术纳入"十四五"国家重大专项,并设立500亿元产业引导基金。技术突破方面,本土
    电子资讯报 2025-04-27 17:08 216浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦