苏晚晴发现自己最近多了一个新爱好——泡图书馆。
这个爱好在她过去十七年的人生里从未出现过,对她来说,图书馆是一个用来躲雨的地方,是一个用来抄作业的地方,是一个用来睡觉的地方,但从来没有一个时刻,她会主动走进图书馆,找一个安静的角落坐下,翻开一本书,然后安安静静地看上一个小时。
但现在不一样了…因为她看的不是课本,不是教辅,而是编程书。
事情要从三天前说起。那天晚上,陆星辰在教她编程的时候提到了一个概念——数据结构,他说数据结构是编程的骨架,是组织和管理数据的方式,学好数据结构可以让她写出更高效、更优雅的代码。
苏晚晴当时听完,脑子里浮现出的画面是一堆骨头架子,吓得她差点把刚喝进去的汤喷出来,但陆星辰接下来的话让她改变了想法——你不是喜欢整理零件吗?零件盒就是数据结构,你把螺丝放在一个格里,螺母放在一个格里,垫片放在一个格里,需要用的时候直接去对应的格里拿,如果所有的零件都混在一起,每次找一个螺丝都要翻遍整个盒子,效率就会很低。
苏晚晴听完,恍然大悟。数据结构就是零件盒,就是把数据分门别类地放好,需要用的时候直接拿,这个比喻她听懂了,因为她从小就在和零件盒打交道,她知道一个整理有序的零件盒可以节省多少时间和精力。
所以她现在坐在图书馆里,面前摊着一本纸质书——《数据结构入门:从零开始理解数据的组织方式》,纸质书在这个时代已经很少见了,大部分人都是用全息屏幕看书,但苏晚晴发现纸质书更适合她,她可以在上面写写画画,可以用手指触摸那些文字和图示,可以随时翻到前面回顾之前的内容,全息屏幕太滑了,太冷了,太不真实了,而纸质书有温度,有质感,有重量,像她工具箱里的那些金属零件一样真实。
她翻到第三章,内容是栈和队列。栈是后进先出的数据结构,就像一摞盘子,你总是先用最上面的那个,队列是先进先出的数据结构,就像排队买饭,先来的人先打到饭。
苏晚晴在书的空白处画了一个盘子的简笔画,旁边写了一个栈字,然后又画了一排排队的小人,旁边写了一个队列字,她看着这两个图,觉得数据结构好像也没那么难,就是一些生活常识的抽象化表达。她继续往下看,看到栈的应用那一节时,她的眼睛亮了起来——栈可以用来实现撤销功能,比如你在编辑器里打了一行字,然后删掉了,再按撤销键,那行字又回来了。
这就是栈在起作用,每一次作都被压入栈中,撤销就是把栈顶的作弹出。
苏晚晴的脑子里忽然闪过一个念头——如果把这个原理用在机器人控上,是不是可以实现动作回放?比如她控小星星做了一套复杂的动作,然后用栈记录下每一个动作的指令,需要的时候让栈把这些指令一个个弹出来,小星星就可以重复执行同样的动作序列。
她把这个想法记在书的空白处,字迹潦草到她自己都快认不出来了,但她不在乎,因为这个想法太让她兴奋了,兴奋到她恨不得现在就冲到实验室去告诉陆星辰。
但她没有动,因为她答应过陆星辰,今天下午她要在图书馆安静地看书,不许跑到实验室去打扰他。
他今天有一个重要的线上会议,要和他父亲的研究团队讨论一个AI,整个下午都没有时间。
苏晚晴不知道那个AI是什么,但她在陆星辰脸上看到了一种少见的认真表情,那种表情比他在比赛时还要严肃,还要专注,还要让人不敢靠近,所以她乖乖地来了图书馆,找了一个角落的位置,摊开书,试图让自己沉浸进去。
但她做不到,不是因为书不好看,而是因为她的脑子里全是陆星辰。
她想起今天早上在实验室里看到的一幕——陆星辰站在窗前,手里端着一杯已经凉透了的合成咖啡,看着穹顶外灰白色的月球表面,深蓝色的眼睛里映出那片荒芜的土地。
他的表情很复杂,不像平时的冷静和平淡,而是一种更深沉、更内敛、像被什么东西压着的感觉。
苏晚晴当时站在他身后,想问他在想什么,但话到嘴边又咽了回去。因为她忽然意识到,她对陆星辰的了解太少了,她知道他是年级第一,知道他父母是AI研究员,知道他左手无名指上有一道环形疤痕,知道他做过手术导致手部神经不够稳定,但她不知道他在想什么,不知道他为什么有时候会露出那种表情,不知道他深夜一个人在实验室里写代码的时候脑子里装的是什么。
她想了解他,不是学习搭档的那种了解,不是朋友的那种了解,而是一种更深的、更近的、像走进他心里的那种了解。
但她不知道从哪里开始。
图书馆的自动照明系统感应到光线的变化,将灯光从白天的冷白色调切换成了午后的暖黄色调,苏晚晴抬起头,看到窗外的穹顶上,人造太阳已经开始向西倾斜,模拟地球的黄昏。橘红色的光线透过纳米玻璃窗照进来,在书页上投下一片温暖的光斑,那些印刷的字体在光斑中显得格外清晰,像是在发光。
她低下头,继续看书。
栈和队列之后是链表,链表是一种通过指针将数据串联起来的数据结构,每个数据节点都包含一个指向下一个节点的指针,就像一条铁链,每一个环都连着下一个环。
苏晚晴看着这个概念,脑子里浮现出的画面不是铁链,而是一串被穿起来的螺丝垫圈,她父亲工具箱里有一串这样的垫圈,用一细铁丝穿在一起,取一个下来,铁丝上就少一个,用完再穿回去,这就是链表,每一个垫圈是一个节点,铁丝是指针,把垫圈穿在一起就形成了一个链。
她笑了,觉得自己大概是全宇宙唯一一个用螺丝垫圈来理解链表的人。但笑完之后她又觉得这没什么不好,每个人都有自己的学习方式,她的方式就是用她熟悉的东西去解释她不熟悉的东西,零件、工具、机械结构,这些都是她熟悉的东西,是她从小就在接触、在触摸、在理解的东西,用这些东西去搭建一个理解编程的桥梁,虽然看起来不专业,但对她来说是有效的。
她继续看书,一页一页地翻过去,在空白处写满了笔记和批注。那些字迹歪歪扭扭,涂涂抹抹,有的地方画了箭头,有的地方画了简笔画,有的地方写着看不懂的公式和算式,如果让陆星辰看到这本书,他大概会皱眉头,然后用那种没有感情波动的语气说——你的笔记没有逻辑结构,缺乏系统性,可读性差。
但苏晚晴不在乎,因为这本书是她的,这些笔记是她的,这些乱七八糟的字迹和涂鸦是她思考的过程,是她和知识之间的对话,它们不需要好看,不需要系统,不需要可读性,它们只需要有用——对她有用。
时间在翻书声中流逝,窗外的光线从橘红变成了深蓝,穹顶的夜景模式启动了,苏晚晴抬头看了一眼时间,已经快五点了,她在图书馆里坐了将近三个小时,看完了四章内容,写满了一整本书的空白处。
她合上书,揉了揉酸涩的眼睛,伸了个懒腰,脖子发出一连串咔嚓声,她站起来,把书放进书包里,背上书包,走出阅览室。
走廊里很安静,只有她一个人的脚步声在空旷的空间里回荡,感应灯一盏一盏地亮起,在她面前铺开一条光的长河,又一盏一盏地在身后熄灭,像一条正在被收回的发光地毯。
她走出图书馆,穹顶上的夜景模式已经全面启动了,人造星空在头顶闪烁,无数光点像碎钻一样铺满了深蓝色的天幕。夜风从通风系统吹进来,带着花卉区模拟出的晚香玉味道,甜得发腻,像一整瓶被打翻的香水。
她的光脑腕带震动了一下,是陆星辰发来的消息——会议结束了,你在哪?
苏晚晴回复——图书馆,刚出来,准备去实验室。
回复来得很快——我在实验室,等你。
苏晚晴看着等你两个字,嘴角弯起一个弧度,加快了脚步。
她走进科技楼,电梯门打开,走廊的感应灯依次亮起,她走到实验室门口,门自动滑开,里面的灯光涌出来,在走廊的地面上投下一块长方形的光斑。
陆星辰站在工作台前,面前的全息屏幕上投射着一个复杂的AI架构图,各种节点和连接线像一张巨大的蜘蛛网,密密麻麻地铺满了整个屏幕,他的校服和早上一样整洁,但他的眼睛下面有淡淡的青色,嘴唇的颜色比平时浅了一些。
小Q蹲在他肩膀上,这次没有用爪子抱他的耳朵,而是安安静静地靠在他的脖子旁边,像一个橘色的小围脖,它的眼睛半睁半闭,看起来很困,但又不愿意去睡,像是在陪主人。
苏晚晴走过去,把书包放在工作台上,看了一眼那个AI架构图——这是什么?
一个AI决策系统的架构图,用于自动驾驶飞梭的路径规划。陆星辰的手指在屏幕上划动,放大了一个节点——这个系统的核心是实时路径规划算法,需要在毫秒级别内计算出最优路径,同时考虑交通流量、天气条件、飞梭性能和乘客舒适度等多个因素。
苏晚晴看着那些密密麻麻的节点和连接线,头开始疼了——这是你父亲团队的?
嗯,他们邀请我参与算法的优化部分。
苏晚晴看着他——你答应了?
答应了。这是一个很好的学习机会,可以在真实中应用我学到的理论知识。
苏晚晴看着他的侧脸,心里涌起一种复杂的感觉。她想,陆星辰的世界比她想象的要大得多,他的世界里有AI、有自动驾驶、有月城联邦最顶尖的研究团队,而她的世界里只有小星星、编程书和这个实验室,他们之间的距离不只是成绩的差距,还有认知的差距、视野的差距、对世界理解方式的差距。
这个认知让她心里涌起一种不安,像有一只小手在轻轻捏着她的心脏,不疼,但很不舒服。
但她没有说出口,只是走到料理机前,从冰箱里取出食材,开始准备晚餐。她的手在切菜,心却在想别的事情——她在想,她要怎样才能缩小和陆星辰之间的距离,要怎样才能走进他的世界,要怎样才能让他看到,她不只是一个小星星的制造者,不只是一个会修机器的学渣,而是一个可以和他并肩站在一起的人。
她想不出来答案,但她知道答案不在书里,不在代码里,不在任何一个她能找到的地方,答案在时间里,在她和他一起度过的每一个子里,在她拧过的每一个螺丝里,在她写的每一行代码里,在她为他做的每一顿饭里。
所以她只是安静地切着菜,把番茄切成大小均匀的块,把合成蛋打散在碗里,把月壤菌菇切成薄片。她的动作越来越熟练,刀工越来越好,切出来的食材越来越整齐,像用尺子量过一样。
陆星辰从全息屏幕前抬起头,看着她在料理台前忙碌的背影,深蓝色的眼睛里倒映出她栗色短发上被灯光打出的高光和她围裙带子在腰后系成的蝴蝶结,他的目光在她身上停留了很久,久到小Q从他的肩膀上探出脑袋,用爪子拍了拍他的脸,提醒他注意形象。
陆星辰移开目光,低下头继续看屏幕,但他的耳朵尖红了。
苏晚晴没有看到,因为她正背对着他,专心致志地炒菜,锅里的番茄炒蛋发出滋啦滋啦的声音,香气弥漫在实验室里,和金属、机油的气味混在一起,形成一种奇特的、只属于这个实验室的味道。
晚餐做好了,苏晚晴把菜端到工作台上,今天的菜是番茄炒蛋、清炒月壤菌菇、一碗紫菜汤,还有一份她今天在图书馆看数据结构时突然想到要做的合成肉炒饭,她不知道陆星辰喜不喜欢吃炒饭,但她想做,所以就做了。
陆星辰看着那盘炒饭,沉默了片刻——你加了什么?
苏晚晴咧嘴笑了——加了葱花、合成肉丁、月壤菌菇丁、还有一点点酱油。你教过我炒饭的诀窍,要用隔夜的米饭,炒出来才会粒粒分明,所以我昨天特意留了一碗米饭在冰箱里,今天就派上用场了。
陆星辰拿起勺子,舀了一口炒饭放进嘴里,咀嚼了两下,然后点了点头——合格了。
苏晚晴笑了,笑得很大声,笑到实验室里回荡着她的笑声,笑到小Q从陆星辰的肩膀上跳下来,蹲在工作台上用爪子扒拉了一下炒饭的盘子边缘,试图偷一粒米饭。
苏晚晴伸手把小Q拎起来放在地上,小Q不服气地扑扇了一下翅膀,又跳上来了,这次直接钻进炒饭的盘子里,叼了一粒米饭就跑,苏晚晴看着那只橘色的毛球叼着米饭在实验室里飞来飞去,忍不住笑了——它真的很喜欢吃。
陆星辰看着小Q,深蓝色的眼睛里闪过一丝无奈——它的食物欲望可能是程序编写时的一个参数错误,但我一直没找到具体是哪个参数。
苏晚晴看着小Q蹲在储物柜顶上,两只爪子捧着那粒米饭,小口小口地吃着,绿色的眼睛里写满了满足和幸福,她觉得这不像是程序错误,更像是陆星辰在编写小Q的代码时,不小心把自己的某种渴望写进去了,但她没有说出口,只是低下头,继续吃饭。
晚餐后,苏晚晴拿出了那本《数据结构入门》,翻到她今天看的那一页,指着空白处画的那个盘子的简笔画——我今天看了栈和队列,还有链表。
陆星辰接过书,看着那些歪歪扭扭的笔记和涂鸦,深蓝色的眼睛里闪过一丝光——你的笔记很有特点。
苏晚晴觉得特点这个词用得很微妙,它既可以表示好,也可以表示不好,完全取决于说话人的语气和表情,而陆星辰的语气和表情都没有任何倾向,所以她无法判断他到底是在夸她还是嘲笑她。
你想说什么就直接说,不用拐弯抹角,她瞪了他一眼。
陆星辰的嘴角弯了一下——我是说,你的笔记虽然缺乏系统性,但很有个人风格,每一个概念都被你转化成了你熟悉的场景,这说明你不是在死记硬背,而是在真正理解。
苏晚晴愣了一下——你是在夸我?
可以这么理解。
苏晚晴看着他,嘴角慢慢弯起一个弧度——那你说,我理解得对不对?
陆星辰翻开书,指着栈的那一页——你对栈的理解是对的,后进先出,就像一摞盘子,但你对栈的应用场景的理解还不够全面,撤销作只是栈的一个应用,栈还可以用来实现函数调用、括号匹配、表达式求值等功能。
苏晚晴听得有点晕——函数调用是什么?
就是你写一个函数,然后在另一个函数里调用它,计算机需要记住当前函数执行到哪一行,等被调用的函数执行完再回来继续执行,这个记忆功能就是通过栈来实现的,每调用一个函数,就把当前的状态压入栈中,函数执行完再弹出,恢复之前的状态。
苏晚晴想了想——就像你看一本书,看到某一行的时候被叫去做别的事,你夹一张书签在那里,做完别的事回来,据书签找到刚才看到的位置,继续往下看。
对,书签就是栈。
苏晚晴笑了,笑得眼睛弯成两道月牙——你看,我理解了,只是用了我自己的方式。
陆星辰看着她笑的样子,深蓝色的眼睛里映出她弯弯的眉眼和上扬的嘴角。他的嘴唇动了一下,像是想说什么,但最终只是点了点头,然后低下头,继续看书上的笔记。
苏晚晴看着他的侧脸,看着他微红的耳尖,心里那个小小的太阳又亮了几度。她想,也许她不需要急于缩小和陆星辰之间的距离,也许她不需要走进他的世界,也许她只需要做好自己,做好苏晚晴,做好那个会用螺丝垫圈理解链表、会用书签理解函数调用、会用自己的方式理解这个世界的人。
也许这才是她和他之间最好的距离——不远不近,刚好够她看到他,刚好够他看到她,刚好够他们在各自的轨道上运行,又在某个特定的时刻交汇。
就像两颗星星。
陆星辰把书还给她,然后走到全息屏幕前,调出了小星星的控制程序——今天下午我优化了对手动作预判系统的算法,响应时间比之前快了百分之十五,你来测试一下。
苏晚晴放下书,走到测试区,拿起遥控器,控小星星在场地里移动。陆星辰在控制程序里生成了一系列虚拟对手,有重甲型、速度型、均衡型,每一种都模拟了真实比赛中可能遇到的情况。
苏晚晴控小星星和这些虚拟对手一一对战,她的手在遥控器上跳跃,眼睛盯着全息屏幕上对手的轨迹,脑子里快速计算着距离、角度和时机。
小星星在她的控下在场地里奔跑、转向、攻击、闪避,动作行云流水,像一个在舞蹈的银色。
陆星辰站在她身后,记录着每一次对战的数据。他的手指在光脑腕带上快速滑动,一行行数据被记录下来,红色的通过标记一个接一个地亮起。
测试了十轮,全部获胜。苏晚晴放下遥控器,转过身看着陆星辰,琥珀色的眼睛里闪烁着光——我觉得小星星比比赛的时候更强了。
不是觉得,是确实,陆星辰调出了数据对比图——移动速度提升了百分之八,转向精度提升了百分之十二,武器响应时间缩短了百分之十五,综合战斗力提升了大约百分之二十。
苏晚晴看着那些数据,心里涌起一种难以形容的成就感,这些提升不是她一个人做到的,是陆星辰的代码、她的手、他们的配合共同做到的,每一个人都在自己的领域里努力,每一个人的努力都被凝聚在了小星星的身上,变成了它每一次精准的移动和每一次流畅的攻击。
她蹲下来,伸出手,小星星的抓取钳轻轻夹住了她的食指,力度温柔得像一个拥抱。
小星星,你越来越强了,她轻声说——再给我一点时间,等我学会了编程,我会让你变得更强。
小星星的指示灯闪了闪,像是在说好。
苏晚晴笑了,站起来,走回工作台前,拿起那本《数据结构入门》,翻到下一页,继续看。
陆星辰站在她身后,低头看着她专注的侧脸,看着她手指在书页上划过的轨迹,看着她嘴唇在默念概念时微微蠕动的样子,他的深蓝色眼睛里映出她的影子,湖面上有风在吹,湖水泛起涟漪,湖底有什么东西在翻涌。
他伸出手,在全息屏幕上调出了一个空白的编程界面,然后在她旁边坐下来——我来教你栈的代码实现。
苏晚晴抬起头看着他——现在?
现在,你不是看了栈的概念吗,概念只有转化成代码才有意义。
苏晚晴想了想,觉得他说得有道理。她把书合上,转过身面对全息屏幕,手指放在键盘上。
陆星辰指着屏幕上空白的编程界面——栈的实现可以用数组,也可以用链表。我们先从数组开始,定义一个数组,一个变量表示栈顶的位置。
苏晚晴按照他的指导,一行一行地敲下代码,她的速度很慢,每敲一行都要想很久,有时候想不通就停下来问陆星辰,有时候问完了还是不太明白,就让他再讲一遍。
陆星辰的讲解依然精准而简洁,不废话,不绕弯子,每一个字都打在点子上,他的声音在安静的实验室里回荡,带着一种低沉的、微微沙哑的质感,像大提琴最低的那弦被轻轻拨动。
苏晚晴听着他的声音,手指在键盘上敲击,一行行代码在屏幕上生长,像一株被缓慢浇灌的植物,她不知道这些代码在真实中能不能用,不知道语法对不对,不知道逻辑有没有漏洞,但她知道她在学习,在进步,在一点一点地靠近那个她想要成为的自己。
写完最后一行代码,她按下运行键,屏幕上弹出了一行白色的字——栈测试通过。
苏晚晴看着那行字,嘴角弯起一个大大的弧度,她转过头看着陆星辰,发现他也在看她,深蓝色的眼睛里倒映着她的笑脸和屏幕上白色的光。
我做到了她说,声音很轻,但每一个字都带着一种笃定的、不容置疑的力量。
陆星辰看着她,嘴角弯起一个温柔的弧度——你做到了。
苏晚晴笑了,笑得很大声,笑到整个实验室都在回荡着她的笑声,笑到小Q从工作台上滚了下去,笑到小星星的指示灯跟着她的笑声闪烁,像是在为她鼓掌。
她想,她大概已经找到了那个答案。
不在代码里,不在书里,不在任何一个她能找到的地方。
在陆星辰的笑容里。
在她每一次完成一段代码时他弯起的嘴角里,在她每一次说我又赢了时他深蓝色眼睛里映出的光里,在她每一次蹲下来和小星星互动时他站在身后安静注视的目光里。
答案在那里。
她只需要走过去,把它拿起来,然后说——这是你的。
她的光脑腕带震动了一下,是林知意发来的消息——你在哪?我找你半天了。
苏晚晴回复——实验室。
林知意的回复来得飞快——和陆星辰两个人?
苏晚晴看着这句话,嘴角抽了抽——对,两个人,在学习。
林知意发了一个翻白眼的表情包,然后加了一句——学习?学什么?学编程?还是学别的?
苏晚晴想了想,回复——学编程,也学别的。
林知意沉默了五秒钟,然后发了一长串感叹号,最后加了一句——你变了,苏晚晴,你真的变了,但我喜欢现在的你了~
苏晚晴看着这句话,心里涌起一阵暖意。她回复——我也喜欢现在的我。
发完之后她关掉聊天界面,抬起头,发现陆星辰正在看着她。
怎么了?她问。
没什么,陆星辰低下头,继续写代码,但他的耳朵尖又红了。
苏晚晴看着那对发红的耳朵,笑了。
她想,她也喜欢现在的陆星辰。
不是年级第一的陆星辰,不是天才学霸的陆星辰,而是一个会因为她写完一段代码而微笑、会因为她叫他名字而耳朵发红、会在她看不到的时候偷偷看她、会在她说我想学编程的时候说好我教你的陆星辰
这个陆星辰,只有她能看到。
这个认知让她心里涌起一种甜蜜的满足感,像吃了一整罐蜂蜜,甜得她忍不住想笑。
她转回去,继续看那本《数据结构入门》,翻到队列那一章,在空白处画了一排排队的小人,然后在每个小人头顶上写了数字,表示他们在队列中的位置。
她想,明天她要学队列的代码实现。
后天学链表。
大后天学树。
她要一直学下去,学到她能写出一个完整的程序,学到她能和小星星对话,学到她能站在陆星辰面前说——你看,我做到了。
然后,她会说出另外一些话。
那些藏在螺丝和代码里的喜欢。
那些让她每天早上六点自然醒的心动。
那些让她想要变成更好的自己的决心。
她等着那一天。
窗外的穹顶上,人造星空开始了夜间循环,无数光点按照真实星空的运动轨迹缓慢移动。苏晚晴看向窗外,在那些光点中找到了地球的方向,那颗蓝色的星球正发出柔和的光,像一只温柔的眼睛注视着月球上这座被玻璃罩保护的城市。
她想,如果有一天她能去地球,她要带上陆星辰,一起去看真正的海、真正的山、真正的风。
不是全息投影,不是模拟数据,是真实的、活生生的、有温度的地球。
在那之前,她要先把编程学好,把小星星做好,把比赛赢下来。
然后把那些藏在螺丝和代码里的喜欢,一件一件地告诉他。
或者不告诉。
谁知道呢。
她关上书,站起来,背上书包,走到门口,回头看了一眼实验室。陆星辰还坐在工作台前,面前的全息屏幕上投射着那个复杂的AI架构图,小Q蹲在他肩膀上,两只爪子抱着他的耳朵,小星星在测试区的充电底座上安静地充电,指示灯一闪一闪的。
明天见。她说。
明天见。陆星辰头也不回。
苏晚晴走出科技楼,穹顶上的人造星空在头顶闪烁,夜风从通风系统吹进来,带着花卉区模拟出的栀子花香味,清甜而浓郁,像一瓶被打翻的香水。
她踩着步行云轨往星轨站台走,光脑腕带震动了一下,是陆星辰发来的消息。
你今天看的栈和队列,明天我来教你树的实现,树比栈和队列复杂,但原理是相通的。
苏晚晴看着这条消息,嘴角弯起一个大大的弧度,回复——好,明天见。
发完之后她又加了一句——你早点休息,不许再熬夜了。
回复来得很快——好。
苏晚晴盯着那个好字看了很久,久到她的眼睛开始发酸,她想,如果好字有温度的话,陆星辰的好大概是最暖的那种,不是因为它多热烈,而是因为它太稀缺了,稀缺到像冬天里的一杯热茶,像深夜里的一盏灯,像一个人在茫茫人海中找到了另一个人的目光。
列车到站,她下车,踩着步行云轨往家走,夜风带着模拟出的薰衣草味道,甜甜的、淡淡的,像一个温柔的晚安吻,她推开家门,看到父亲苏建国正坐在沙发上看全息新闻,母亲林秀兰在厨房里收拾东西。
爸,我回来了。
苏建国抬起头,看到她脸上的笑容,愣了一下——今天怎么这么高兴?
苏晚晴走到他面前,蹲下来,看着他的眼睛——爸,我今天写了一个栈的代码。
苏建国眨了眨眼——栈?什么栈?
就是数据结构里的栈,后进先出,像一摞盘子,苏晚晴用手比划了一下——我写了一个程序,实现了栈的压入和弹出功能,测试通过了。
苏建国看着她,沉默了片刻,然后笑了,笑得很开心,笑到眼角的皱纹都挤在一起——我女儿真厉害。
苏晚晴的鼻子一酸,眼泪差点掉下来。她扑过去抱住父亲,把脸埋在他的肩膀上,感觉到他的手在她背上轻轻拍着,一下一下的,像她小时候被哄睡觉时的节奏。
爸,谢谢你。
谢什么?
谢谢你教我修东西,谢谢你让我知道我的手可以做很多事,谢谢你没有因为我成绩差就觉得我是个废物。
苏建国的手停了一下,然后继续拍——你从来不是废物,你只是还没找到自己擅长的事情,现在你找到了,爸爸为你骄傲。
苏晚晴把脸埋得更深了,眼泪一滴一滴地落在父亲的衣服上,纳米布料自动吸收了那些泪水,但她觉得那些眼泪的温度已经渗进了她的皮肤下面,变成了一个永远不会消失的印记。
她哭了一会儿,然后抬起头,擦了擦脸,吸了吸鼻子,笑了——妈,我饿了。
林秀兰从厨房探出头,看着抱在一起的父女俩,眼眶也有点红——营养膏在料理机里,自己热。
苏晚晴站起来,走到料理机前,打开机器,把营养膏放进去加热,等待的时候,她打开光脑腕带,翻到陆星辰发来的那条消息——你今天看的栈和队列,明天我来教你树的实现。
她看着这条消息,嘴角弯起一个大大的弧度。
她想,明天她要早一点到实验室,在陆星辰来之前把树的章节看完。
然后在他推门进来的时候,她已经可以问一些有深度的问题了。
比如——树的遍历有几种方式?
比如——二叉树和平衡二叉树有什么区别?
比如——你昨天晚上几点睡的?
她看着最后一个问题,笑了。
她想,她大概不会问这个问题,因为她知道答案。
凌晨两点以后。
他总是这样。
她叹了口气,从料理机里取出热好的营养膏,坐在餐桌前,一口一口地吃着,觉得今天的营养膏比平时甜了很多,甜到她觉得分子料理机大概也需要换一个了。
但她知道,不是料理机的问题,是她的问题。
她的心里住进了一个人,所以看什么都甜。
她关上灯,躺在床上,看着天花板上的星空投影,在模拟星光的微光中沉入梦乡。
梦里,她站在实验室的工作台前,全息屏幕上是一段完整的树遍历代码,陆星辰站在她身后,低头看着那段代码,深蓝色的眼睛里映出白色的光。
这是你写的?梦里的陆星辰问。
嗯,我写的,梦里的苏晚晴笑了——全部都是我一个人写的。
陆星辰看着那段代码,沉默了很久,然后说了一句话。
那句话让梦里的苏晚晴哭了,哭得很厉害,哭到整个人都在发抖,哭到眼泪流得满脸都是。
但她没有醒来,因为她想知道那句话是不是真的。
那句话是——我爱你。
不止是因为你的手,不止是因为你的心,不止是因为你是苏晚晴。
而是因为,你是你。
梦里的苏晚晴哭着笑了,笑着哭了,然后伸出手,抱住了梦里的陆星辰。
这一次,他没有僵住,没有犹豫,而是伸出手,紧紧地、紧紧地抱住了她。
像两颗星星在茫茫宇宙中相遇,碰撞,然后融合成一颗更亮的星。
她不想醒来。
但即使醒来了,她也不怕。
因为那句话,她已经听到了。
在梦里,在代码里,在那些拧过的螺丝里,在那些度过的夜夜里。
她听到了。