十一点半。台灯的光晕刚好压住书桌右下角,底下是那本《二级Java语言程序设计》。书脊翻得泛白起毛,草稿纸上糊着画到一半的流程图,还有几段被我改得亲妈都不认识的for循环。当初翻出这玩意儿,纯粹是为了死磕那场机考。可你猜怎么着?真到了夜深人静,一行行啃那些干巴巴的考点时,我倒觉得,这大概是我这几个月来,唯一能彻底把脑子清空、安安稳稳待着的时辰。

可读性?谈不上。这书就是个板着脸的教务主任,把Java语法硬生生劈成十七块砖头,码得严丝合缝。数据结构、类与对象、异常处理、线程……每章都死死贴着“大纲要求”“考点提炼”“真题解析”的八股格式走。头回翻到“流程控制”,我差点把键盘砸了。条件判断和循环嵌套的例题,长得简直是一个模子刻出来的。看多了,直犯生理性反胃。脑子里就剩下一句:“if-else套for,for里再套if。”

不过,翻到“异常处理”这儿,气氛忽然就变了。书里拿try-catch-finally举的例子,不光给标准答案,还特意把空指针、数组越界这些让人头大的烂摊子单拎出来,配着一步步的调试路径。我盯着那截代码愣了挺久。忽然咂摸出点味儿。它教的哪是catch的语法啊。分明是教你怎么接住“程序准得报错”这档子破事儿。过日子谁不盼着万事顺遂?可真能把日子过明白的,往往都是从学会收拾一地鸡毛开始的。这么硬扯到生活上,是有点牵强。但逻辑上,它确实通。

配套光盘里的录屏,反倒成了这书里最对胃口的部分。没那些硅谷创业公司似的炫目动画。就一个光标在IDE里慢吞吞地挪,敲,跑,报错,改,再跑。关键注释只点出最要命的那几行。我手指头在键盘上磕磕绊绊地跟着敲。有回手滑,漏敲了个分号。控制台瞬间红成一片。我盯着屏幕发怔,没忍住,自己乐出了声。这笨拙劲儿,太熟了。当年刚学剪视频,也是对着教程死磕一个导出参数,熬到凌晨三点。眼睛干得像撒了沙子。

这书把考点拧得极干。例题刻板得近乎教条。可偏偏是这种不跟你玩虚的直给,掐断了新手那点无病呻吟的自我怀疑。它不跟你扯什么“编程美学”或者“架构哲学”。就甩出一句大白话:这儿有坑,绕着走;那儿要规范,照抄。敲多了,你自己脑子里反倒能慢慢长出规矩来。

毛病也一堆。大纲停在2008年。有些写法搁现在看,确实土得掉渣。Applet现在谁还碰啊?线程和对象串行化的讲法,也透着股浓浓的应试功利味。但它本来就不是冲着培养大厂架构师去的。它就像一把老式黄铜钥匙。就认“计算机二级”这把锁。门后的世界早换了智能锁芯。可推门时攒下的那股子死磕耐心,拆解难题时养成的逻辑习惯,是揣兜里真能带走的。现在大家太爱追“最新”“最炫”的技术栈。天天喊着拥抱变化。反倒容易心浮气躁。可能未必是时代变了。是我们太急。再复杂的微服务、AI框架,底下垫着的,无非是循环、判断和对象封装。把这些看着最没劲、甚至有点枯燥的基石夯结实了。后来碰什么新玩意儿,手底下才不抖。

把书合上的时候,窗外天都快亮了。草稿纸上糊满的笔记,跟屏幕上终于跑通的测试代码,并排躺在桌面上,沾着点冷透的咖啡渍。考试早晚会翻篇。那些考点,也会跟着版本迭代慢慢褪色。但往后要是碰上乱成一锅粥的家务,或者工作里方案突然崩盘。我估计,会想起这书里反反复复念叨的那句:先捋清逻辑,再动手敲代码。分号能补。循环能调。日子,不也是一行一行、一个字符一个字符敲出来的嘛。