书架上的书,其实就分两种。一种拿来就扔,跟一次性筷子没两样。另一种呢?不催你,就搁那儿陪你耗。孙晨霞老师这本《Visual FoxPro6.0程序设计基础》,绝对是后者。封面黄得跟泡了三天的旧报纸似的,卷边儿都能直接去煎饼摊垫底了。硬壳封皮,捏着硌手。我也真是轴,非把它挪到书架最顺手的那一格。

前两章,真差点把我劝退。数据库理论,语言基础,干得跟嚼没泡开的速溶咖啡渣似的。我当时就犯嘀咕:赶紧往后翻啊,找点能直接敲进屏幕、跑出个弹窗的代码不行吗?孙老师倒好,压根不给捷径。表、字段、索引,她非把这些干瘪的词儿掰碎了、揉烂了,硬往你手里塞。翻到第3到第6章,讲表的操作和数据库关联。读到“建立表之间的永久关系,就像给散落的珠子穿上线”这句,我手指头真就停住了。比喻轻巧是轻巧,可劲儿一扯,魂儿直接给拽回大学机房了。那会儿守着嗡嗡响的CRT大屁股显示器,分辨率撑死800x600。手一抖,敲错个字母,程序立马原地起飞。就为了抠一个漏掉的英文括号,能对着满屏绿码发愣半小时。非科班出身,学这玩意儿本来就没少受罪。底层逻辑摸不着,全凭死记硬背语法硬扛。没别的退路,只能死磕。偏偏是这种死磕,把我们这群外行,硬生生磨成了会拆问题的人。道理,就是这么个道理。

真正让我坐不住椅子的,是第7到第11章。图形界面应用设计,程序调试。技术文档,默认都是冷冰冰的板着脸。可孙老师写这块儿,节奏倒跟咱们平时打结、解结一个德行。书里反反复复就一件事:怎么设断点,怎么单步执行,怎么盯变量窗口。调试代码,说白了,就是跟时间跟自己较劲。你脑子转得飞快,逻辑绝对挑不出毛病,可一跑,结果直接给你甩脸子。没辙,只能一行行扒拉,一遍遍改。直到屏幕“啪”地跳出你要的那个窗口。那种浑身松劲儿的感觉,现在想起来,我还能乐出声。不过嘛,把调试往生活里硬套,确实有点牵强。人哪,真都这样?自以为攻略背熟了,生活偏在犄角旮旯给你使绊子。后来才咂摸过味来,卡壳未必是你菜,纯粹是时机没到。把心气儿调成单步执行,毛病自己就露馅了。当然,这招只对愿意耐心找茬的人管用。急性子?早砸键盘了。

翻到末尾两章,讲应用程序打包和帮助文件的制作。进度条走到头,书里冷不丁甩出一句:“你的作品终于有了完整的模样。”我盯着这句,愣了好几秒。干程序的都门儿清,打包哪算完事儿?分明是换个马甲,继续折腾。你把那一堆零碎代码、控件、数据库文件全塞进压缩包,贴个标,扔给别人用。写帮助文件就更逗了。简直是在教陌生人怎么跟你打交道。生怕人家摸不着北,生怕人家乱戳按钮,只好把每一步都掰成八瓣,塞进说明书里。这不就是学手艺的最后一步吗?把熬夜秃头、推倒重来的辛酸全锁进黑匣子,只给外人留个能拧开的把手。想起08年帮哥们儿搓了个记账小程序。界面土得掉渣,逻辑也糙,连个像样的图标都凑不齐。可人家第一次敲进数字,看见自动求和跳出来的时候,眼睛“唰”地亮了。就那一瞬间,之前啃过的所有语法书,全他妈值了。技术这玩意儿,真没什么高大上的光环。

这书没啥宏大叙事,也玩不转什么高深算法。它就老老实实蹲在九八年的技术路口,教非科班的孩子,怎么跟机器搭话。合上书页,外头天早就黑透了。我忽然咂摸出来,技术剥开硬壳,里头裹着的,全是人的耐心。咱们一遍遍调试,一遍遍打包,图啥呢?可能不过是想在乱糟糟的现实里,给自己抠出一个按了不报错的安稳角落。话扯远了。真愿意坐冷板凳等程序跑完的人,都懂那种闷声不响的踏实。别问是死磕还是不甘心,管他呢。键盘还温乎着,光标还在瞎闪。那就再敲一行呗。反正明天还得面对那一堆改不完的bug。今晚这点安静,偷着享受就完了。