昨晚合上《C++程序设计简明教程》那会儿,窗外早就黑透了。路灯也没精神,昏黄黄的。键盘缝里的灰?压根没空拍。右下角终于跳出个绿色的“Build Successful”。哎,那一瞬间,真像胸口压了块大石头,总算挪开了。读这种硬核书,真得挑深夜。白天脑子里全是回不完的邮件、开不完的会,哪还有地儿装指针和内存分配?
刚翻前两页,心里咯噔一下。全书就八章。就八章。现在市面上那些C++教材,动不动就上千页,厚得能当砖头防身。术语堆得比城墙还高。这本倒好。作者特实在。写得像那种带过无数届新生的老讲师,手里捏着半截粉笔,三下五除二,C++的骨架子就给你拆明白了。以前啃教材,跟查字典似的,翻得眼晕,合上书照样发懵。这本不扯闲篇。核心就那几块,话赶话,干脆。有人肯定嘀咕:八章?太薄了吧,能装下干货吗?我觉得吧,这恰恰是它聪明。不拿厚度刷存在感。核心概念直接铺桌上。看着不累。跟哥们儿拼七巧板似的,咔哒,严丝合缝。
翻到“类的定义、派生与继承”那节,手指头在鼠标上僵了半天。书里讲对象怎么接父类的班,又怎么在节骨眼上改自己的脾气。盯着屏幕那几行代码,脑子里突然就闪回刚入行的时候。那时候真轴。总想把自己严丝合缝地塞进现成的框架里。生怕一步走岔,偏离了标准答案。后来才咂摸出味儿。继承不是照抄。重写也不是掀桌子。人带着老习惯往前走,碰上新摊子,总得自己换个法子应付。书里管这叫“操作符重载”。我倒觉得,这就是自我校准。规矩摆在那儿,拿规矩的姿势,咱们自己慢慢调。不过说句实在话,继承在实际开发里水有多深,干过的人才知道。新手总图它少敲代码,后期维护的坑,比天还大。但就入门而言,这概念,书里拎得是真清楚。
当然,也不是哪章都顺溜。文件流那节,我硬生生卡了大半天。路径不对。权限报错。编码格式乱套。屏幕上一大片红字,看着就上火。手指头在键盘上砸得没轻没重。真想把书甩墙上。可一抬头,撞上作者那句原话:“上机练习是每章学习过程中必做的工作”。我突然觉得自己挺轴。我一直拿看小说的劲儿,死磕一本操作手册。代码这东西,光瞪眼没用。得上手搓。你得去敲键盘。故意输错字符。看着程序直接崩给你看。然后再一点点,把窟窿补上。理论写得再花哨,不跟键盘摩擦出火星子,变不成肌肉记忆。我把书往旁边一推。老老实实打开编译器。一行行对照着敲。等乱码终于规规矩矩变成文本输出,那股踏实劲儿。真管用。有些教材光讲概念,没给脚手架,初学者卡死在这儿不奇怪。但这本,至少没绕弯子。
书里还夹了几段学生参加程序设计比赛的范文。刚看,我以为又是那种炫技的骚操作。耐着性子往下读,才发现人家能跑通,靠的全是收着打。作者把没用的注释全剃了。多余的判断条件,也省了。最后剩下的,全是必须存在的逻辑。书名里带“简明”俩字,真本事就在这儿。不教你怎么把程序写得花里胡哨。教你怎么把乱麻理成线。过日子不也这理儿?咱们老习惯往事儿上堆料,给情绪找借口。却忘了,有时候,做减法才是真功夫。当然,比赛代码能跑通是本事。真到实际项目里,这种“极简”可能连个异常处理都没写,容易埋雷。不过,作为练手和理清思路,这路子,没毛病。
昨晚临睡前,我又把之前卡壳的文件读写模块跑了一遍。这回,没报错。屏幕安安静静跳出一行结果。不声不响。心里却特别稳。这书没跟你扯什么高大上的道理。它就是负责把逻辑理顺,把路标插好。剩下的路,还得自己一行行敲,一遍遍试。有时候,让一段代码跑起来,跟把一桩心事捋顺,用的,其实是同一份耐心。这事儿,大概就是这么个意思。急不得。