第25章 深夜课堂
作者:星系尘埃
那架五块钱的破钢琴,成了出租屋里除了那台拼凑电脑之外,最“昂贵”的资产。
宋薇用捡来的碎布头,仔细擦去钢琴表面的灰尘和污垢。琴键依旧走音,缺了几个键帽的地方露出黑洞洞的窟窿,但意意却像得到了全天下最棒的玩具。只要醒着,小手总忍不住往钢琴的方向够,按下去,听着那扭曲古怪的“咔哒”声,小脸上就会露出一种介于迷惑和愉悦之间的神情。
宋薇看在眼里,心里那点因花掉伙食费而生的刺痛,被一种更复杂的情绪取代。那是一种混杂着愧疚、决心和隐约兴奋的灼热感。她悄悄把接下来几天的伙食预算又砍掉一半,清水煮菜叶里连盐都少放了一撮。胃里空得发慌,但看着意意对着破钢琴“创作”时亮晶晶的眼睛,她觉得值。
生活依旧像绷紧的弦。王经理那边的数据录入零活时有时无,报酬微薄且不稳定。公益中心的免费午餐是雷打不动的支撑,但周伯远的课程越来越深,开始涉及一些简单的报表分析和基础的VBA编程概念。
这对只有大学文科背景、且已荒废多年的宋薇来说,如同天书。那些循环语句、条件判断、变量定义,像一团团纠缠的乱麻,堵在她本就因营养不良而运转迟缓的大脑里。
深夜,孩子们终于沉沉睡去(现在能睡五六个小时了,是宋薇仅有的、完整的学习时间)。她蜷缩在冰冷的桌子前,就着那豆大如豆、摇曳不定的煤油灯光,摊开周伯远给的、字迹已有些模糊的油印讲义,和一本从废品站捡来的、缺页严重的编程入门旧书。
电脑太慢,她舍不得那点珍贵的电瓶电量,更怕运行编程软件会导致死机,前功尽弃。她选择最原始的方法——把问题写在捡来的、背面空白的广告传单上。
“如何用循环,自动将Sheet1的A列数据,乘以对应B列的系数,结果填入C列?”
她咬着铅笔头(也是捡的),眉头拧成疙瘩。讲义上的例子她能看懂,但稍微一变,就无从下手。脑子里像塞满了冰冷的锈铁,转不动。
尝试写了几行伪代码,涂涂改改,逻辑漏洞百出。她烦躁地揉着太阳穴,冻疮未愈的手指传来刺痛。胃部因为饥饿而隐隐抽搐,提醒着她现实的冰冷。
她叹了口气,把写满混乱思路的纸推到一边,准备先冲点米粉糊给自己垫垫肚子。起身时,袖子带倒了桌上一个空的奶粉罐(那罐珍贵的奶粉早已见底,罐子被她洗净留着装水),罐子滚落,正好压在了那张涂鸦般的草稿纸上。
宋薇没在意,拖着疲惫的身子去炉边烧水。
水还没开,暖暖醒了,发出细细的哼唧。她赶紧过去,轻轻拍抚。哄睡暖暖,又检查了其他三个。行行睡得很沉,意意的小手在睡梦中还无意识地做着按琴键的动作,远远则咂巴着小嘴,不知梦见了什么。
等她重新坐回桌前,拿起水杯时,目光无意间扫过那张被奶粉罐压过的草稿纸。
动作顿住了。
纸上她原本那些混乱的箭头、潦草的文字和错误的代码旁,多了一些东西——几道歪歪扭扭的、蜡笔画的痕迹。
那是她之前从废品堆捡到的一小截蜡笔头,给孩子们画着玩的,后来不知被谁(多半是爱到处摸索的远远)拿到了桌上。
蜡笔是红色的,画在粗糙的广告纸背面,线条稚嫩得可笑。但那几道线条,却并非毫无意义的涂鸦。
一道弯弯曲曲的线,从代表“Sheet1 A列”的方块出发,画了个圈,又回到原点,旁边画了几个重复的小点,像是……循环?
一条短线连接了“A列”和“B列”的方块,上面画了个小小的“×”。
另一条线从“×”延伸出去,指向“C列”,线条末端打了个箭头。
旁边还画了个歪歪扭扭的、像锁一样的小符号,锁旁边打了个勾。
宋薇拿着水杯的手,僵在半空。
心脏在胸腔里,突兀地、重重地跳了一下。
她盯着那些稚嫩的蜡笔痕迹,脑子里飞快地转动。循环……相乘……赋值……锁定?不,那个锁和勾,更像是……“判断”?条件判断?
一个荒诞却又让她浑身发冷的念头,如同冰冷的蛇,钻进脑海。
远远白天确实在这附近爬来爬去玩过。难道……这些看似随意的涂鸦,是他在“看”了她写的东西后,无意识留下的……“注释”?
她猛地摇头,想把这不切实际的想法甩出去。一个不满五个月、话都不会说的婴儿,怎么可能理解编程逻辑?还画出带有象征意义的符号?
可……行行对电子元件的直觉,意意对旋律的复现,又怎么解释?
鬼使神差地,她重新拿起铅笔,对着那张被蜡笔“加工”过的草稿纸,按照那些线条和符号提示的思路,重新思考那个VBA问题。
循环读取A列和B列……对应行相乘……结果填入C列……如果B列为空或非数字,则跳过(锁和勾代表判断和通过)?
她尝试着,在脑子中构建这个流程。原本堵塞的思路,仿佛被那些稚嫩的蜡笔线条,撬开了一道缝隙。
煤油灯的光晕摇曳着,映着她苍白的脸和因震惊而微微放大的瞳孔。
水烧开了,发出尖锐的鸣叫。她浑然未觉。
直到暖暖又哼唧了一声,她才如梦初醒。赶紧冲好米粉糊,自己囫囵喝了几口,又把剩下温着的喂给可能夜醒的孩子们。
躺回冰冷的床板上,她却毫无睡意。眼睛睁得大大的,望着黑暗里斑驳的天花板,耳边是四个孩子均匀细弱的呼吸声,脑子里却反复回放着那张草稿纸上的蜡笔涂鸦。
第二天,她做出了一个决定。
晚上,当她再次被一个复杂的公式嵌套卡住时,她没有像往常一样烦躁地抓头发,而是把写了问题的纸,故意放在了远远白天活动时能够到的桌边。
然后,她装作若无其事地去收拾屋子,眼角余光却密切注意着。
远远果然被纸上那些奇怪的符号吸引了。他趴在那里,黑亮的眼睛盯着纸面,小手无意识地抓握着那截蜡笔头。过了一会儿,他伸出小胖手,用蜡笔在纸上某个函数括号的外面,画了一个小小的、不闭合的圆圈。
宋薇的心跳漏了一拍。不闭合的圆圈?在编程里,有时代表逻辑不完整,或者缺少循环结束语句?
她走回去,拿起纸,假装自言自语:“这个公式,总觉得哪里不对,是不是少了个结束的条件?”
说着,她尝试在纸上那个被远远画了圆圈的地方,补充了一个循环结束语句。
然后,她把修改后的逻辑,输入到电脑里(趁着电瓶还有点电,冒险开机)。运行。
虽然因为其他错误没能完全成功,但之前卡住的逻辑部分,居然通过了!
宋薇坐在冰冷的椅子上,后背窜起一阵战栗般的麻意。
不是巧合。
一次或许是巧合,两次……绝不可能。
她的远远,这个连坐都坐不稳的小婴儿,竟然能以某种她无法理解的方式,“感知”到复杂逻辑中的断点和错误,并用最原始的图形表达出来?
这个发现,让她在震惊之余,生出了一股难以言喻的、混合着骄傲、心酸和巨大责任感的热流。
她开始更大胆地尝试。
当她被一个数据透视表的字段设置搞得晕头转向时,她会把问题简化,用只有自己能懂的方式念叨出来,同时观察四个孩子的反应。
行行会转过头,黑沉沉的眼睛望向那台嗡嗡作响、运行缓慢的破旧机箱,小手指有时会准确指向机箱侧面某个散热孔——那里通常是CPU或显卡的位置,当程序复杂时,发热最严重。
意意会在她长时间皱眉、敲击键盘节奏混乱时,忽然哼出一段简短而急促的旋律,像是某种“警报”或“催促”,而当她终于理清思路、流畅操作时,意意哼出的调子又会变得平缓悠长。
远远的蜡笔“注释”越来越频繁,虽然依旧抽象难懂,但宋薇开始能勉强解读其中一些规律——圆圈代表循环或重复,箭头代表流向或赋值,打叉代表错误或终止……
而暖暖,当她因为难题而焦躁不安时,总会适时地爬过来,用柔软的小脸蹭蹭她的手,或者给她一个能融化一切烦忧的笑容。
冰冷的出租屋,漏风的窗户,昏暗的煤油灯,冻疮的手指,饥饿的肠胃,复杂的代码,琐碎的数据……
这一切的艰难困苦,并没有消失。
但在这绝望的底色上,却悄然滋生了一种奇特的、温暖的、只属于他们母子五人的“交流”和“共学”。
宋薇不再是孤身一人在知识的沼泽里跋涉。她的身后,有了四个沉默却无比敏锐的小小“参谋”。他们用各自的方式——行行的直觉,意意的旋律,远远的符号,暖暖的拥抱——参与着她这场为了生存、也为了未来而进行的艰难攀爬。
深夜的“课堂”上,母亲敲击键盘的噼啪声,孩子们偶尔的梦呓或哼唧,破旧机箱的嗡鸣,意意无意识按响的走钢琴音……交织成一首古怪却顽强不屈的生存交响曲。
希望,不再是遥不可及的星光。
它变成了煤油灯下母亲专注的侧脸,变成了孩子们各自独特的“语言”,变成了纸上那些稚嫩却神奇的蜡笔涂鸦,变成了冰冷代码被成功运行后,屏幕上跳出的那个正确结果。
虽然微小,虽然前路依旧漫漫。
但在这间破败寒冷的屋子里,一种崭新的、名为“共生”与“希望”的模式,正在一片废墟之上,悄然萌芽。
PC站点如章节文字不全请用手机访问www.ddxsmf.com