初一那年,学校开了编程兴趣小组。

段智轩是第一个报名的。他从小就喜欢捣鼓电脑,别人玩游戏他在看代码,别人刷短视频他在看编程教程。班主任说他“走火入魔”,他却觉得,代码里那个逻辑严密、有因有果的世界,比现实生活简单多了。

现实生活太复杂了。比如,他搞不懂为什么自己每次看到隔壁班的唐翌翔,心跳就会乱掉。

唐翌翔是后来才加入编程小组的。

那天下午,辅导老师王老师领着一个瘦高的男生走进机房,拍了拍手说:“同学们,这是新来的唐翌翔,初二七班的,以后跟大家一起学习。大家欢迎一下。”

稀稀拉拉的掌声里,段智轩抬起头,正好对上一双干净的眼睛。

唐翌翔长得好看,不是那种张扬的好看,而是像冬日里透过窗棂的阳光,温温和和的,让人不自觉地想靠近。他穿着一件洗得发白的卫衣,书包带子斜挎在身上,冲大家笑了笑,露出一排整齐的牙齿。

“你坐那儿吧。”王老师指了指段智轩旁边的空位。

段智轩的心跳猛地加速了。

唐翌翔走过来,把书包放在桌上,转头冲他伸出手:“嘿,以后多多关照。我叫唐翌翔。”

段智轩盯着那只手看了半秒,才反应过来,握了上去。少年的手掌干燥温热,指节分明,指尖有薄薄的茧——大概是练过乐器或者打了太多字。

“段智轩。”他说。

“段智轩……”唐翌翔重复了一遍他的名字,点了点头,“我记住了。”

就是这三个字,让段智轩一个下午都没能静下心来写代码。

唐翌翔是半路出家的,基础不如小组里其他几个老成员。第一次上机练习,王老师布置了一个简单的题目——用C++写一个判断闰年的程序。

段智轩五分钟就写完了,转头一看,唐翌翔正对着屏幕皱眉,光标在代码区一闪一闪的,旁边的草稿纸上画满了乱七八糟的流程图。

“这里,”段智轩忍不住凑过去,伸手指了指屏幕,“你条件判断写反了。能被400整除的也是闰年,你这个条件只写了能被4整除但不能被100整除的。”

唐翌翔愣了一下,看了看屏幕,又看了看段智轩,恍然大悟地“哦”了一声,然后飞快地修改了代码。程序跑通的那一刻,他长长地呼出一口气,转过头来,笑得眼睛弯弯的:“谢谢你啊,段智轩。”

“没事。”段智轩迅速转回头,假装在看自己的屏幕,耳根却不争气地红了。

那天放学后,段智轩在校门口被唐翌翔叫住了。

“段智轩!”唐翌翔从后面跑上来,书包带子滑下来挂在胳膊肘上,气喘吁吁的,“你走哪条路?”

“东门那条。”

“我也是!一起走吧。”

两个人并肩走在傍晚的街道上,夕阳把他们的影子拉得很长很长。唐翌翔话很多,从编程小组聊到数学课,从数学课聊到学校食堂最难吃的菜是炒茄子,又从炒茄子聊到自己最近在看的一本算法书。

段智轩不怎么说话,但他发现自己在笑。不是礼貌性的微笑,而是那种控制不住的、嘴角自动上扬的笑。

“你笑起来还挺好看的,”唐翌翔忽然说,“平时看你都板着脸,我还以为你不太好相处呢。”

段智轩的笑容僵了一瞬,然后又漾开了一个更大的。

从那以后,两个人渐渐熟了起来。

编程小组每周活动两次,周二和周四下午最后一节课。每次活动结束,唐翌翔都会等段智轩一起走。有时候是边走边聊,有时候什么都不说,就那么沉默地走着,耳机里各自放着各自的歌,但谁都没有提出要分开走。

段智轩发现自己开始期待周二和周四了。不,准确地说,是从周二到周四都在期待下一个周二和周四。

他开始注意到一些只有他自己才会在意的事情:唐翌翔思考问题的时候喜欢咬笔帽;唐翌翔写代码的习惯很好,每行都会对齐,变量名起得清清楚楚;唐翌翔的手指很长,敲键盘的姿势很好看;唐翌翔身上的味道是洗衣液的清香,带一点点阳光晒过的味道。

这些事情像代码里的bug一样,一点一点地堆积在他的脑海里,让他的思绪时不时地卡顿、死机。

有一次,王老师让大家分组完成一个项目,要求两人一组。段智轩还没来得及开口,唐翌翔就转过身来,一双眼睛亮晶晶地看着他:“段智轩,我们一组吧?”

“行。”段智轩回答得干脆,心跳却像是被按下了倍速播放。

那次的作业是写一个简单的学生成绩管理系统。两个人分工合作,段智轩负责后端逻辑,唐翌翔负责界面和用户交互。他们在机房里待到了天黑,屏幕的光映在两个人的脸上,安静的空间里只有键盘敲击的声音。

段智轩写完最后一个函数,伸了个懒腰,转过头去看唐翌翔的进度。唐翌翔正专注地盯着屏幕,嘴唇微微抿着,眉心有一个浅浅的皱褶。

段智轩盯着那个皱褶看了几秒钟,有一种想要伸手去把它抚平的冲动。

这个念头像一道闪电劈进了他的大脑,让他整个人僵住了。

“怎么了?”唐翌翔察觉到他的目光,转过头来。

“没什么。”段智轩移开视线,心跳如擂鼓。

他不敢再看唐翌翔的眼睛了。

那天晚上,段智轩躺在床上翻来覆去地睡不着。

他打开手机,翻到唐翌翔的微信头像——那是一只傻乎乎的金毛犬,吐着舌头笑。段智轩盯着那只狗看了很久,然后打开了浏览器。

他在搜索栏里打了几个字,又删掉了,又打了,又删掉了。

最后他一狠心,按下了搜索键。

“喜欢上同性是什么感觉”

搜索结果跳出来的那一刻,他的手指悬在屏幕上,迟迟没有点下去。窗外的风吹动窗帘,月光在地板上画出一道浅浅的白线。他听见自己的呼吸声,一声一声的,在寂静的夜里格外清晰。

他关掉了手机,把脸埋进枕头里。

他想起唐翌翔笑起来的模样,想起唐翌翔叫他名字时的声音,想起唐翌翔今天拍他肩膀时手心传来的温度。

他想,完了。

他真的完了。

段智轩没有告诉任何人。

他把这份感情藏在心底,像保护一段珍贵的代码一样,小心翼翼地加密、备份,却从不运行。他照常和唐翌翔一起上下学,照常一起讨论算法题,照常在微信上聊天到深夜。他学会了在唐翌翔面前不动声色,学会了把汹涌的心跳压成平静的微笑。

他开始更加努力地学编程。

不是因为别的,而是因为编程的时候,他可以暂时忘记那些让他心跳加速的事情。算法、数据结构、递归、循环——这些东西占据了他的大脑,让他没有余力去想唐翌翔。

他的编程水平突飞猛进,王老师开始在课堂上拿他的代码当范例。唐翌翔坐在旁边,看着屏幕上段智轩写的那些简洁优雅的代码,由衷地说:“你真的太厉害了。”

段智轩想说,你才是最厉害的那个。你不声不响地走进了我的生活,让我每天早上睁开眼睛的第一件事就是想到你,让我在上课的时候走神只因为你坐在我后排,让我听到你的名字就觉得心跳加速、手心出汗。

你什么代码都没写,就把我的世界改写了。

但他没有说。他只是笑了笑,说:“多练习你也可以。”

初三上学期的冬天,下了第一场雪。

那天编程小组活动结束后,天已经黑了,雪花纷纷扬扬地从天空飘落,在地上铺了一层薄薄的白色。段智轩和唐翌翔像往常一样一起走出校门,走到那条每天都会经过的小路上。

路灯亮着昏黄的光,把雪花照得像碎金一样闪闪发亮。唐翌翔伸出手去接雪花,一片一片的,落在他的掌心里,又迅速地融化。

“段智轩,”唐翌翔忽然说,“你有没有想过以后要做什么?”

“做程序员吧。”段智轩说。

“我也是。”唐翌翔笑了,“那我们以后可以一起开个公司,你当CTO,我当CEO,专门做那种很酷的软件。”

段智轩的心猛地揪了一下。他想象着那个画面——很多年以后,他和唐翌翔坐在一起,敲着代码,吵着架,笑着闹着,像现在这样。但随即他又想到,那个画面里,他永远只是“合伙人”、“兄弟”、“最好的朋友”。

他想要的东西,可能永远只能藏在心底。

“好啊。”他听见自己说,声音平静得像没有风过的湖面。

唐翌翔转过头来看他,雪落在他的头发上、肩膀上、睫毛上。路灯的光落在他眼睛里,像碎了一地的星星。

“段智轩,”唐翌翔忽然认真地说,“你知道吗,我很高兴当初选了编程小组。”

段智轩看着他,心跳快得几乎要从胸腔里蹦出来。

“为什么?”他问。

唐翌翔笑了一下,那个笑容很轻很轻,像是怕惊动什么似的。他说:“因为在那里认识了你啊。”

雪花还在飘落,整个世界安静得像按下了暂停键。段智轩站在那条熟悉的小路上,站在昏黄的路灯下,站在漫天飞舞的雪里,看着唐翌翔的眼睛,忽然觉得所有的害怕和犹豫都没有那么重要了。

也许有一天他会鼓起勇气说出来。也许不会。

但至少在这一刻,在这条下着雪的小路上,他和唐翌翔并肩站在一起。唐翌翔的眼睛里有光,有雪,有他。

这就够了。

“回家吧,”段智轩说,“雪越下越大了。”

“嗯。”唐翌翔应了一声,两个人重新迈开步子,肩并肩地走在雪夜里。

脚下的雪发出细碎的声响,像是什么东西在悄悄地生长。

在他们身后,两串脚印并排延伸着,一直延伸到路灯照不到的远方。而前方,夜色温柔,万家灯火,漫长的路还等着他们一起去走。

段智轩偷偷看了一眼身边的少年,在心里说了一句永远不会说出口的话:

唐翌翔,我的世界里所有的bug,都是因为你。