第12章 父子的算法
冰冷的雨水顺着破旧遮雨棚的边缘滴落,砸在油腻的水泥地上,发出单调而压抑的“啪嗒”声。空气里弥漫着劣质烟草、泡面汤和潮湿霉味混合的刺鼻气息。小阳蜷缩在网吧角落一台嗡嗡作响的旧电脑后面,像一只被淋透又炸毛的幼兽。他身上的校服湿漉漉地贴在身上,勾勒出单薄而倔强的轮廓。苍白的脸上,雨水和泪水混在一起,在网吧昏暗闪烁的屏幕光线下泛着湿冷的光。他抱着膝盖,下巴抵在膝盖上,眼神空洞地盯着屏幕上一款枪战游戏的登录界面,手指却僵硬地悬在键盘上方,没有任何动作。
陈默就坐在他旁边那张同样油腻的塑料椅子上,中间隔着一臂宽的距离。那距离像一道无形的深渊,填满了沉默、雨水带来的寒意和尚未散尽的硝烟味。陈默的工装外套也湿了大半,深色的水渍在肩头洇开。他几次想开口,喉咙却像被冰冷的铁锈堵住。小阳刚才那句“总裁爸”的嘲讽,像一把淬毒的匕首,深深扎在他心口,每一次呼吸都牵扯着尖锐的痛楚。
他能说什么?解释自己的无奈?诉说生活的重压?保证以后会更好?在儿子此刻被愤怒和屈辱烧红的眼睛面前,任何语言都显得苍白无力,甚至虚伪。
网吧里充斥着键盘的噼啪声、游戏的音效和少年人兴奋或懊恼的叫嚷。这片喧嚣反而将他们父子所在的角落衬得更加死寂。小阳的呼吸很轻,带着压抑的抽噎,身体偶尔不受控制地微微颤抖一下,像寒风中的枯叶。
就在这时,陈默的目光无意间扫过小阳放在油腻桌面上的那只旧手机——屏幕裂了好几道纹,是他淘汰下来给小阳用的。一个极其微弱的念头,如同黑暗中划过的火星,猝然点亮了他混乱的思绪。
他深吸了一口带着霉味和烟味的空气,仿佛下定了某种决心。他动作有些僵硬地掏出自己那台屏幕同样磨损得厉害的旧手机。这台手机,是他的工具,记录着工作室的订单、联系方式,也承载着他过去十几年职业生涯的某些痕迹。
他的手指在冰冷的屏幕上快速滑动,点开一个不起眼的文件夹,里面存放着一些他闲暇时编写的、从未示人的小程序。其中一个应用的图标极其简陋,就是两个像素风格的、手拉手的火柴人剪影,下面一行小字:**Father & Son Adventure**(父子冒险)。
“小阳。”陈默的声音低沉沙哑,打破了令人窒息的沉默,也惊动了旁边蜷缩的少年。
小阳的身体猛地一僵,抱着膝盖的手臂收紧了些,头却固执地扭向另一边,只留给陈默一个湿漉漉的后脑勺和紧绷的下颌线,无声地表达着抗拒。
陈默没有强求他转头,只是将手机屏幕转向小阳的方向,手指点了点那个简陋的图标。“这个……是我以前……没事写着玩的。一个……小游戏。”
小阳的肩膀几不可查地动了一下,但依旧没有回头。抗拒中,似乎又带着一丝被勾起的好奇。
陈默点击了启动。手机屏幕亮起,没有炫酷的开场动画,直接进入一个同样像素风格、色调有些灰暗的界面。背景像是用简陋线条勾勒出的城市轮廓,高楼林立,道路纵横。画面中央,站着两个像素小人:一个高大些,穿着类似工装的蓝色衣服;一个矮小些,背着书包。
“看,”陈默的声音放得更低,带着一种近乎笨拙的引导,手指在屏幕上滑动,“这个……是我。这个,是你。”他用手指点了点那个矮小的小人。
小阳的眼角余光似乎瞥到了屏幕,身体依旧僵硬,但抱着膝盖的手指无意识地蜷缩了一下。
陈默开始操作那个高大的像素父亲,在灰暗的城市地图上笨拙地移动。游戏玩法很简单,甚至有些枯燥:父亲需要护送儿子小人安全抵达地图另一端的“学校”。沿途会遇到各种障碍:代表“学业压力”的不断滚落的巨石(需要父亲推开)、代表“社交困扰”的荆棘丛(需要父亲用“沟通”道具清除)、代表“成长烦恼”的湍急河流(需要父亲搭建“理解”的桥梁)……
陈默操作得并不熟练,那个高大的像素父亲小人动作笨拙,推石头很慢,清除荆棘时也会被扎到掉血条。小阳依旧没有回头,但陈默能感觉到,他眼角的余光正牢牢地锁定在小小的手机屏幕上。
当像素父亲护送着像素儿子,艰难地抵达“学校”终点时,屏幕上并没有出现“胜利”或者“通关”的字样。画面反而切换了。
一个简洁的、甚至带着点专业冷感的折线图占据了屏幕!横轴是年份,从“2009”到“2023”,纵轴是身高(厘米)和体重(公斤)。一条蓝色的折线代表身高,从起点一个很矮的位置,一路向上攀升,在“2023”的位置达到了一个显著的峰值(旁边标注着**172cm**)。另一条红色的折线代表体重,走势相对平缓,但也在稳步增长(**48kg**)。
小阳的身体猛地坐直了!他再也无法维持那副抗拒的姿态,猛地转过头,红肿的眼睛死死盯着手机屏幕,充满了震惊和难以置信!那上面标注的身高体重数据……和他体检报告上的分毫不差!
陈默的手指在屏幕上轻轻一划。折线图切换成了柱状图。横轴是年份,纵轴是分数。蓝色的柱子代表“编程比赛”,高度参差不齐,但整体呈上升趋势,其中最高的一根柱子标注着**二等奖(2023)**。绿色的柱子代表“期末考年级排名”,高度在逐年降低(代表名次提升),最新的一根柱子标注着**第38名**。旁边还有一个小小的饼图,标注着“时间分配”:学习(60%),编程(25%),游戏(10%),其他(5%)。
冰冷的数据!精确到小数点!将他成长的轨迹,他的努力,他的成就,甚至他的时间分配,都赤裸裸地、以一种极其客观的方式呈现出来!这不是模糊的夸奖,而是硬核的记录!
“这……这……”小阳的声音干涩嘶哑,带着浓浓的惊愕,眼睛瞪得溜圆,看看屏幕,又看看父亲那张沾着雨水和油污、此刻却异常沉静的侧脸,“你怎么……怎么知道的?”
陈默没有直接回答。他的手指再次滑动。屏幕上的图表消失了,回到了那个像素游戏简陋的“通关”界面。只是这一次,画面中央那个代表儿子的像素小人头顶,缓缓浮现出一行闪烁的、由绿色代码字符组成的文字:
**>>> You Are My Optimized Future.**
**(你是我最优化的未来)**
在这行字的下面,极其不起眼的位置,有一个小小的、像素风的感叹号图标在闪烁。陈默的手指,带着一种近乎虔诚的郑重,轻轻点在了那个感叹号上。
屏幕瞬间暗了下去。几秒钟后,一张照片缓缓浮现出来,占据了整个屏幕。
那不是像素图。那是一张真实的、略微泛黄、带着岁月痕迹的老照片!
照片的背景是医院产房的病床。年轻的陈默,头发浓密,脸上带着初为人父的青涩、疲惫和难以言喻的激动与喜悦。他小心翼翼地抱着一个裹在浅蓝色襁褓里的、皱巴巴的小婴儿。婴儿的眼睛还没完全睁开,小脸通红,一只小手紧紧攥着陈默的一根手指。
照片下方,空白的区域,没有煽情的文字。只有一行用简洁的、程序员风格的注释标记的代码:
`// Core Process 1 initialized: Chen Xiaoyang.(核心进程1初始化:陈小阳)`
`// Status: Running. Optimization in progress...(状态:运行中。持续优化中...)`
寂静。
死一般的寂静。
网吧里喧嚣的游戏声、叫嚷声仿佛瞬间被按下了静音键。只有遮雨棚上雨水滴落的“啪嗒”声,敲打着时间。
小阳死死地盯着那张照片,盯着照片里父亲年轻的脸庞,盯着那个被自己攥着手指的、小小的、皱巴巴的自己,盯着照片下那行冰冷又滚烫的代码注释。他红肿的眼睛里,所有的愤怒、屈辱、冰冷、鄙夷……如同被投入沸水的冰块,迅速消融、瓦解。取而代之的,是汹涌的、无法控制的泪水!大颗大颗的泪珠,如同断了线的珠子,争先恐后地滚落下来,砸在油腻的桌面上,和之前未干的雨水混在一起。
“呜……”一声压抑到极致的呜咽,终于从小阳紧咬的牙关里泄露出来。他猛地低下头,额头重重地抵在冰冷油腻的桌面上,瘦削的肩膀剧烈地耸动着,发出再也无法抑制的、如同小兽受伤般的痛哭!
“他们……他们都说……”小阳的声音淹没在痛哭和哽咽里,断断续续,带着浓重的鼻音和无边的委屈,“说你……你有了新的孩子……就不要我了……呜……说我是多余的……说……说以后你们才是一家人……呜哇……”
积压了太久太久的恐惧、不安和委屈,在这一刻,随着泪水彻底决堤!不是为了被撕碎的奖状,不是为了同学的嘲笑,而是为了那个深埋在心底、日夜啃噬着他的、关于被抛弃的恐惧!
陈默的眼眶瞬间通红!一股汹涌的酸涩直冲鼻腔!他看着儿子哭得撕心裂肺、浑身颤抖的样子,感觉自己的心也被揉碎了。他再也无法保持距离,伸出手,带着一丝犹豫,最终坚定地、用力地按在了儿子那被雨水和泪水彻底浸透的、单薄的脊背上。
掌心传来少年身体剧烈的颤抖和滚烫的温度。
“傻孩子……”陈默的声音沙哑得不成样子,带着浓重的鼻音,每一个字都仿佛从胸腔深处挤出来,带着沉甸甸的力量,“爸的算法里……”
他顿了顿,仿佛在凝聚着生命中所有的郑重,清晰地、一字一句地说道:
“永远有两个核心进程。”
小阳的哭声猛地一滞!他抬起泪流满面、狼狈不堪的脸,红肿的眼睛里充满了巨大的茫然和一丝微弱的、不敢置信的微光,怔怔地看着父亲。
陈默迎上儿子的目光,那双被生活磨砺得布满血丝的眼睛里,此刻充满了不容置疑的坚定和一种近乎悲壮的温柔。他用力地、再次重复道:
“永远有两个。一个是你。一个……”他的目光似乎穿透了网吧污浊的空气,望向了家的方向,“是那个还没来的。你们……都是爸的‘核心进程’。”
没有华丽的辞藻,没有深情的拥抱。只有一句属于程序员的、最朴素的承诺。却像一把钥匙,瞬间捅开了小阳心中那把沉重的、名为“被抛弃”的锁。
小阳呆呆地看着父亲,看着他那张写满疲惫、沾着油污和雨水、却在此刻显得无比可靠的脸。泪水依旧在无声地流淌,但眼神里的冰冷和怨恨,已然被一种巨大的、失而复得般的委屈和依赖所取代。
网吧角落里,昏暗的光线下,父子俩的影子被拉长,投在斑驳的墙壁上。一个依旧蜷缩着哭泣,一个沉默地按着他的背脊。破旧的手机屏幕上,那张泛黄的婴儿照和那句冰冷的代码注释,在喧嚣的背景音中,无声地散发着微弱而恒久的光芒。
窗外的雨,似乎下得更大了。但角落里弥漫的寒意,却被某种悄然滋生的暖流,一点点驱散。
