屏幕还亮着。黑底上,光标一闪,一闪,跟心跳似的。等编译跑完?那真叫干耗。进度条爬得慢吞吞的,脑子里刚过完一遍流程,手指头往回车键上这么一摁。呼——机箱风扇猛地窜起来。紧接着,“滴”。就一声。听着挺轻,但懂的人都知道,刚才那一团乱麻,总算妥了。
《C#程序员教程》往桌上一合,脑子里没蹦出那些干巴巴的语法表。绕来绕去,还是Deitel那套“把键盘当工作台”的劲儿。说它是教程,可半点没摆出老教师爷训人的谱儿。它搞那个“Live-Code”,代码就是一行行往下铺。不先给你端出成品家具,非让你先看刨花怎么卷,榫头怎么一点点咬死。翻到Windows Forms那章,我鼠标在屏幕上停了好一会儿。拖拽控件,调属性,绑事件。啧,这操作,一下把我拽回小时候帮老爹收拾工具箱的烂摊子。抽屉里扳手跟螺丝刀怎么塞不卡壳,全凭那点手感。写代码不也一样?把一堆乱七八糟的需求往里填,规矩立死了,跑起来半夜才不至于给你甩一堆红字报错。现在的小年轻估计早习惯拖拽组件了,但我这老骨头反而觉得,逻辑理顺了,debug的时候能少骂两句街。真的,少骂两句都是福报。
说句实在话,ADO.NET跟数据库连接那块,我是真咬着后槽牙啃过来的。SqlConnection里大小写配错一个字母,数据在本地和服务器之间来回倒腾,直接跑飞。当时火气蹭蹭往上冒,心里直骂:写书的怎么非把直路拐成九曲十八弯?可硬着头皮往下捋,看着数据怎么查出来,怎么一点点塞进数据集,哎,突然就咂摸出点味儿了。这哪是写代码,这分明就是人脑记事儿。谁会把每天发生的破事儿全原封不动塞脑袋里?无非是抓重点,理关系,贴个标签完事。数据库里的表关联,SQL里敲条件,说白了,就是教你怎么把一脑子浆糊,理成随时能抽出来的东西。话听着有点玄,但你在IDE里真敲下查询,看到结果“啪”一下弹出来,那种对上的踏实感,骗不了人。对,就这意思。
翻到ASP.NET和XML处理那章,作者笔调明显松快了。聊网络编程,聊服务怎么握手,怎么递消息。读到这儿,我忍不住乐了。咱们现在,哪天不是泡在接口和协议里?发个消息得拆格式,网页跳转得接请求。人与人打交道,不也天天发信号、收信号?话说岔了,无非是传参传错;疙瘩解开了,跟异常捕获成功一个样。作者没把这些硬熬成鸡汤,就是干巴巴列技术栈。可技术这东西,它本身就有体温。你自己敲出一段能跨网通信的代码,盯着两个陌生进程头一回成功握手,你就全懂了。跟人相处,整那些花里胡哨的词儿有个屁用。底层稳不稳,协议对不对得上,才是正经事。
这书出版,确实有些年头了。现在的技术风向,早换了三四茬。框架迭代得都快赶上换手机了,但骨子里那股“把玩意儿搭起来”的狠劲儿,没变。作者默认你手头有点别的语言底子,不跟你扯闲篇,上来就切正题。这份信任,现在可真稀缺。不哄小孩,也不拿术语吓人。就明摆着放那儿:逻辑在这儿,家伙事儿在这儿,剩下的路,你自己蹚。我特服这套。学东西,最怕别人替你踩坑。写代码更没法代打。你在屏幕前盯十遍,不如自己上手敲一遍。挨一次NullReferenceException,比看十篇教程都管用。真的,信我。
书一合,外头天早黑透了。显示器那点微光里,键盘缝里的灰正往上飘。说实在的,书里的例子全敲一遍?不太可能。有几章,也就是扫了一眼。但这不打紧。技术书嘛,就当座桥。你没必要把每一块木板都踩得咯吱响,心里清楚它通哪儿,愿意上去迈几步,就够用了。明天指不定又冒出新报错,新需求。但我心里有底。只要肯坐下来,把烂摊子拆开,一行行对过去,那些打结的线头,总能慢慢捋顺。就跟现在一样。屏幕一暗,反光里全是我的脸。日子嘛,还得一行行敲下去。