天黑了。真黑了。合上《Java 6从入门到精通》这厚砖头的时候,屏幕上的光标还在闪,跟抽筋似的。刚抽出来那会儿,我压根没抱啥指望。封皮灰不拉几的,目录排得那叫一个整齐,一看就是死磕细节的主儿。行吧。接下来的日子,键盘算是废了。圆括号、分号、死活对不齐的缩进……全得拿命去磕。耗上三五天?跑不了。
头两页翻完,我就开始犯嘀咕。这真是“入门”?作者分明是拿放大镜抠语法。变量怎么声明?分号搁哪儿?全得掰碎了喂到嘴里。心想着翻两页能看点干货呢,人家反手就甩出一堆循环嵌套和条件判断。火气“蹭”地就起来了。写代码图个啥?不就图个痛快吗?可错一个字母,编译直接红字报错,连个缓冲都不给。行。我算是看明白了,哪有什么敲代码如流水的爽感。那些半夜调试到吐血的夜,全在这儿呢。谁不想抄现成的轮子?谁不想直接上高级特性撑场面?可底层逻辑不吃这套。它不跟你废话,就按着你脖子让你老老实实打地基。笨吗?笨。但地基要是歪了,楼盖得越高,塌得越快。这话糙理不糙。
翻到 Eclipse 配置和跑通第一个小程序,我总算能喘口气。IDE 右上角的进度条一格一格走完,控制台里蹦出那行字。没啥震撼。就是心里那块石头,咯噔一下,落地了。像小时候瞎拼乐高,折腾半小时,终于立住个歪脖子塔。就图那口踏实劲儿,比听什么大道理都强。往后翻,XML 配置、数据库读写、网络通讯……冷冰冰的词儿挨个往外蹦。看着看着,味儿不对了。XML 里那些套娃标签,一层压一层。烦吗?烦。没它还真转不动。数据库的增删改查,说透了,不就是往抽屉里塞东西、翻旧账、改版本号吗?最逗的是网络握手协议。我盯着屏幕琢磨半天。两台机器连上,先打招呼,对暗号,确认没问题才传数据。我合上书乐了。这不就是加微信、约饭的流程?先试探两句,对方回个话,事儿才算成。技术再玄乎,剥开了,底子里还是人情世故。
说实话,一瞅见“精通”俩字,我头皮就发麻。书名是《从入门到精通》,可啃到底才明白,这行压根没封顶。Java 6?老古董了。现在市面上框架换了几轮,语法改得亲妈都认不出。作者肯定不指望靠这砖头让你写出最潮的程序。他就是把一套思考的路子,摊在桌面上给你看。报错别急着砸键盘。顺着日志一行行抠。逻辑跑飞了,别死磕。拿笔在纸上画个流程图,线头自己就理顺了。这些土办法,真比炫技顶用。以前赶项目,总想一次写对。结果呢?埋一堆雷,后期修到头秃。现在哪还有什么一夜精通。不过是被 bug 按在地上摩擦多了,慢慢学会了自己兜底。这话得看场合。真要碰大厂核心架构,光靠土办法肯定不够。但对付日常开发?够了。真够了。
中间有几段,我盯着屏幕愣神。不是卡壳。是突然觉得,敲代码跟过日子,真是一个模子刻出来的。环境烂摊子?接着。资源不够?凑合搭个能用的架子。剩下的,全靠一遍遍调试磨出来。天天跟这些严丝合缝的逻辑较劲,图啥?说白了,不就是在这乱糟糟的世界里,找个自己能说了算的犄角旮旯吗?有人嫌矫情?熬过几个通宵,你就懂了。
关编辑器的时候,顺手敲了下空格键。键盘缝里还卡着白天掉的饼干渣。明天还得跟新 bug 死磕。报错照样能让人头皮发麻。算了。只要分号没漏,逻辑没跑偏,程序总能跑起来。日子嘛,不也这么凑合着,往前过呗。