目录
作家王小波 图片来源:来自网络
今天是程序员作家王小波逝世25周年的日子,谨以这些文字纪念王小波给我的启发,也希望启发大家。
1 写文章与开发软件的相同之处
写文章和开发软件都是写作类工作,所以有很多相同的地方。例如写作前都需要构思和谋篇布局,都需要遵循一定的逻辑,写作时都需要熟练运用语言,大多数非天才都会经历先阅读、再模仿和再创造的过程。正如优秀的写作者通常会花较多时间去构思,而不是在细节上修修改改,优秀的程序员也是初期花费较多精力设计,而不是花费很多时间去调试,去修改Bug。
所以,如果想做优秀的程序员,一定要多花些时间做分析和设计,记住“磨刀不误砍柴工”,也记得经常阅读优秀的代码,学习设计和写作方法,以增强自己的功力。写作能力强的读者朋友,如果还没有做程序设计,也不妨试试,说不定能成为一个很优秀的开发者。
2 黑客王小波的工作
喜欢读书的人,应该都知道王小波这个名字。Leon曾经写了一篇文章《神奇的程序员-王小波:王小波和编程》,发表于酷勤网 http://www.kuqin.com/itman/20130413/334121.html 可惜现在访问不了了。 Leon从王小波和朋友的书信里收集了他所做软件的各种信息,汇集起来,可以了解小波在软件方面的造诣。顺序按照原文的书信顺序,应该也就是时间顺序。今天我带大家一起读读他的信,帮大家做些解释。很抱歉图片中的英文连词了,不过相信大家都能看懂。
说明:80年代末,我们并没有太多软件,都需要向国外学习,SAS和SPSS都是那个时候非常牛的统计软件。FORTRAN是科学计算的基本语言。看得出来,王小波一直在黑苹果电脑。他的文字里也介绍了IBM 和 INTEL的真实发展情况。矩阵运算和分布函数确实一直是非常好的数学工具,今天我们做数据分析和人工智能也很需要它们。
说明:1991年王小波自己开发了用于写作的软件,也提到了严氏软件对他的启发。他提到了自己的发明,调整字模发生器方法生成汉字,解决了英文软件汉化的问题。他用C语言仿编了一个严氏软件并还卖出去了,看得出来,他的C语言功底还是不错的。
说明:这一段非常硬核,解释了软件的新功能,介绍了编译方法,吐槽了Turbo C的种种毛病,也提到了汇编的优点,他很坦诚地承认自己的图像和磁盘文件处理部分还需提升。
说明:王小波介绍了使用递归算法开发软件的体会,1992年他已经用C语言开发了多种自己的写作工具,提到了采用保护模式使用扩展内存,讨论了C语言的多种版本以及语言特性。
说明:王小波介绍了他对个人计算机发展的观点,解释得还是很到位的,他也提到了计算机多媒体技术。关于微机修理,他提到了板机维护的方法,也就是模块化维护的思想。笔者我也经历过。能看得出,他也是很熟悉微机硬件并能动手自己维修机器的。Turbo C++是每一个学C++的开发者使用的软件,他提到了关贸总协定也就是后来的WTO。王小波对自己通过写软件解决内存问题的能力很有自信。
说明:以前的存储介质都是软磁盘,看得出来,王小波动手能力很强,写了个程序解决了获取文件的问题。王小波提到了他所做的扩展内存的汇编工作。笔者也曾使用汇编语言开发过单片机系统,汇编的好处在于对于机器的底层操作细节了解得非常清楚。现在的朋友们看到1M 内存,一定觉得无法想象,可科技就是这么发展过来的。王小波提到了互联网,我国是在1994年正式接入互联网的。
王小波与李银河 图片来源:来自网络
王小波曾经这样说计算机,“这门科学一日一变,越变越有趣,这种进步真叫人舍不得变老,更舍不得死……学习科学技术,使人对正在发展的东西有兴趣。”希望大家都能像王小波那样,深入到计算机发展的每个阶段,体会计算领域工作的乐趣,在这个计算发展的黄金时代,磨炼自己的技艺,做出力所能及的贡献。
欢迎留言,一起交流讨论计算领域种种有趣的事情。