最近的博客写得很是疏疏落落,昨天晚上回家前,原本已经想好了要写一篇关于十一期间去雾灵山的博客,甚至盘算好了即使写不出若许文字的话,还可以考虑用几张照片凑一凑,没想到未几,就在微信里看到 Dennis Ritchie 去世若干周年的消息。想起真该写点东西了,他老人家和 Ken 发明的 C 语言,至今仍是我手头最熟悉的谋生工具,甚至深深影响了我对世间万物的观察角度。从刚接触 C 语言时作为一名不及格的程序员,到现在一年到头代码总共也写不了多少的不称职的程序员,二十年了。我写此文向他表示纪念,尽管他生前身后都不知道我是谁。
大学的专业是计算机应用,一二年级号称是基础课时代,三四年级才是专业课时代。一年级的时候,先练的是指法,惭愧的很,到现在我的指法也很烂,输入的时候总要看着键盘才行。稍后要学习五笔字型,背诵所谓字根,然后在盗版的 WPS 里颤颤巍巍写了一封和李春波没有关系的家书,用系里计算机机房老掉牙的针式打印机把它扎压了出来。反倒是在假期实习的时间段里,重新拾起了高一时曾短暂接触过的 Basic 语言。当时的环境是 Turbo Basic,爽得一塌糊涂,做什么呢?我老人家胸无大志,最长干的是照着简谱把一首歌用 Play 语句演奏出来。Turbo Basic 对我最大的魔力在于,它能编译出 EXE 文件来,和别的脱离不了开发环境的 Basic 工具不一样。听着 PC 喇叭叮叮咚咚奏乐,也是一种少有的经历吧。大二就学习数据结构了,语言是 Pascal,对我这么懒的人来说,begin 和 end 真让人写的脑仁疼,那时候不比现在,集成环境/编辑器可以帮助减少敲击这些东东。然后,就在同学们订阅的报纸杂志上,遇到了看起来符号比字母还要多的简洁的 C 语言,真是一见如故。
上机很贵,开始的时候一个小时要三四块钱。那也不管不顾,省吃俭用如饥似渴地上机。手里拿着折叠的毛了边的报纸往电脑里敲击那一段段的小工具的源代码。印刷出来的代码,错误百出,给了我调试的实战机会,水平不敢说是突飞猛进,至少也是小有积累。指针是个好东西,我的最爱。指针,指针之指针,函数指针,数组与指针,指针数组,花样百出,乐此不疲。从对语言逐步了解,到开始尝试写具有实用性的代码,再到因为输出需要而学习构建小字库,在没有中文环境的支撑的条件下显示汉字,再到 BGI 接口的图形化界面程序的开发,图片的解码显示,等等。上学期间,由于一度对 TSR 程序痴迷曾导致有一段时间搁置了 C 语言而主要琢磨汇编,还有一段时间则是开始了解 C++ 再到 MFC,事后发现,这两者其实都在一定程度上让我对于 C 语言的了解和掌握更加深入了。学校走上社会,在 UMS 项目里尝试用类来控制电话/传真接口卡,心里清楚得很,除了利用析构函数来自动回收资源以外,大部分的语言特性更接近于 C 而非 C++,模板和异常的使用更是通常会被不自觉地排除在外,事实证明,我老人家主要还是一名 C 程序员。
只可惜,C 语言的创建者就这么离开了。作为一个受益者,我对他致以敬意,和纪念。