七月一日,建党节,县城有庆祝活动。街道上掛起了红色横幅,广场上在搭舞台,准备晚上的文艺演出。但科技街的网吧里,一切如常。烟雾、泡麵、键盘声、游戏音效,和外面的热闹是两个世界。

林浩走进“蓝海”网吧时是下午三点。他穿著最简单的白t恤、牛仔裤,帆布书包斜挎在肩上。收银台还是那个黄毛,在打《传奇》,看见他,抬了抬眼皮:“上次那个?37號还空著。”

“我等个人。”林浩说。

“哦。”黄毛没再理他,继续打游戏,屏幕上的道士正在用毒咒杀怪。

林浩找了个靠墙的位置站著,这里能看见门口。他从书包里拿出一本《c++ primer》——昨天刚从省城书店买的,2002年最新版,花了68元。他翻开,但没看进去,只是做样子。

他在等阿坤。

阿坤是“半夏”的真名,赵坤。昨天在qq上,他们约了今天下午三点在“蓝海”见面。林浩没说怎么认人,只说“你看到我就知道了”。阿坤问为什么,林浩说:“因为这里只有一个人会在这个时间看书。”

现在,他站在这里,手里拿著书。窗外的阳光斜射进来,在水泥地上投出窗框的阴影。空气里有灰尘在光柱里飞舞。

三点零五分,门被推开了。

进来的人很瘦,高,但背有点驼。穿一件洗得发白的灰色短袖衬衫,领子磨破了边。裤子是校服裤,蓝白条纹,膝盖处磨得发白。脚上一双旧球鞋,鞋头开了胶。背著一个黑色双肩包,包很旧,拉链坏了,用绳子绑著。

头髮很长,遮住了半边眼睛。皮肤很白,是不见阳光的那种苍白。下巴尖削,嘴唇抿得很紧。眼睛很大,但眼窝深陷,有黑眼圈,像很久没睡好。

他站在门口,眯著眼適应了一下室內的昏暗。然后目光扫过来,扫过收银台,扫过打游戏的少年,扫过烟雾繚绕的角落,最后停在林浩身上。

他看见了那本书。

他走过来,脚步很轻,几乎没声音。走到林浩面前,停下,看了他几秒,然后开口,声音很轻,有点沙哑:

“horizon?”

“是我。”林浩合上书,“阿坤?”

“嗯。”

两人对视。阿坤的眼睛很亮,是那种专注的、锐利的亮。他盯著林浩看,目光里有审视,有疑惑,也有一丝好奇。他在打量这个在网上出题考他们、一个人做出《细胞吞噬》的“大佬”。

林浩也在打量他。十九岁,但看起来更小,像个高中生。不,比高中生还憔悴。衣服不合身,袖口长出一截,肩膀处松松垮垮。手指细长,骨节分明,指甲剪得很短,很乾净。右手食指和中指的第一节有茧,是长期敲键盘磨出来的。

“找个地方说话?”林浩说。

阿坤点点头。

他们没在网吧里说话。林浩在前,阿坤在后,走出网吧。外面的阳光很刺眼,阿坤眯起眼,抬手挡了一下。

“去哪?”他问。

“找个安静的地方。”林浩说,“跟我来。”

他推起自行车,阿坤步行跟在旁边。两人沿著科技街往西走,过了两个路口,拐进一条小巷。巷子很窄,两侧是老旧的红砖房,墙根长著青苔。巷子尽头有一棵老槐树,树下有几块水泥板,是附近老人下棋乘凉的地方。现在是下午,没人。

林浩把自行车支在墙边。阿坤在水泥板上坐下,背包放在腿上,双手抱著。

“喝水吗?”林浩从书包里拿出两瓶矿泉水,递过去一瓶。

阿坤接过来,拧开,喝了一小口。他的喉结动了动,喝水的声音很轻。

“你从哪来?”林浩也在水泥板上坐下,和他隔著一米距离。

“合肥。”阿坤说,“坐夜车来的,早上刚到。”

合肥。中科大就在合肥。他果然是中科大的学生。

“輟学了?”

阿坤沉默了两秒,点点头:“上学期的事。”

“为什么?”

“没意思。”阿坤说,声音很平淡,“老师教的我都会,不会的他们也不懂。考试、作业、论文……浪费时间。我想做自己的事。”

“家里同意吗?”

“不同意。”阿坤扯了扯嘴角,一个很浅的、几乎看不出的笑,“我爸说要打断我的腿。我妈哭了三天。我弟说我疯了。”

“那你还出来?”

“在家也做不了事。他们整天念叨,邻居指指点点。”阿坤看著手里的水瓶,“我需要电脑,需要网,需要安静。家里没有。”

林浩没说话。他能想像那个画面:一个十九岁的少年,执意退学,家人反对,邻居非议,他把自己关在房间里,对著电脑,写那些没人理解的代码。饿了吃泡麵,困了趴在桌上睡,一天说不了三句话。

“你住哪?”林浩问。

“车站旁边的招待所,一天十五块。”阿坤说,“钱快用完了。”

“你哪来的钱?”

“以前存的。做家教,写小程序,攒了两千。用了三个月,还剩三百。”

三个月,两千块,在合肥生活。平均一天二十多块,要吃饭,要住宿,要上网。很难。

“你做的题我看了。”林浩换了个话题,“47行,sph简化版。怎么想到的?”

阿坤的眼睛亮了一下。那是说到他擅长领域时的光芒。

“sph標准算法在flash上跑不动,粒子一多就卡。我简化了核函数,只保留密度项和压力项,粘性项用人工粘性代替。交互半径固定,不用kd树搜索邻居,用均匀网格加速。时间积分用显式欧拉,虽然精度低但快。”他说得很快,很流利,不再是刚才那种迟疑的语气,“最后加了简单的边界处理,粒子出界就反弹。”

“性能呢?”

“100个粒子,24帧。200个粒子,15帧。够用了。”

“代码风格很乾净。”林浩说。

“嗯,我喜欢乾净。”阿坤说,“多余的代码就像噪音,干扰思考。”

林浩点点头。他懂这种感觉。好的代码像诗,简洁,准確,有力。

“你为什么出那道题?”阿坤突然问。

“找能做事的人。”

“找到了吗?”

“找到了三个。你是其中之一。”

阿坤沉默了一会儿,看著树影在地上摇晃。

“horizon工作室,”他说,“到底是做什么的?”

“现在做什么不重要。”林浩说,“重要的是未来做什么。”

“未来做什么?”

“做別人做不到的事。”

阿坤转过头,看著林浩。他的眼睛在树荫下很亮,像某种夜行动物的眼睛。

“比如?”

林浩没回答。他从书包里拿出那本《c++ primer》,翻开,里面夹著一张纸。纸上是他手写的一段代码。

“你看看这个。”他把纸递给阿坤。

阿坤接过,看了几行,眉头皱起来。

“这是……什么语言?”

“c++,但又不太像。”林浩说。

阿坤继续看。他的眉头越皱越紧,嘴唇抿成一条线。他看得很慢,很仔细,有时会停住,手指在纸上虚点,嘴里无声地念著什么。

那是一段关於並行计算的代码。用到了c++11的线程库、原子操作、无锁数据结构。在2002年,c++98都还没普及,c++11要等九年后才出现。这段代码里的概念,对现在的程式设计师来说,是天书。

阿坤看了整整五分钟。然后他抬起头,眼睛里是一种林浩从未见过的神色——震惊,困惑,但更多的是狂热。

“这……这是谁写的?”

“我。”

“不可能。”阿坤说,声音很肯定,“这些语法,这些库,我从来没见过。这个『std::atomic』,这个『std::thread』,这个『lock-free queue』……现在的c++没有这些。”

“如果我说,这是未来的c++呢?”

阿坤盯著他,像在看一个疯子。

“未来?”

“嗯。十年后的c++。”

沉默。只有风吹过树叶的声音,沙沙响。

“你……”阿坤的声音有点抖,“你怎么知道?”

林浩没回答。他收起那张纸,从书包的夹层里,拿出那台黑色的手机。

电量:0.7%。红色警告標誌在闪烁。

他按亮屏幕。在阳光下,屏幕有点暗,但还能看清。他点开一个文件——那是他用最后一点电量,从小艺的离线资料库里导出的,一段真正的、2028年的代码。关於分布式系统中一致性算法的实现,用了一种现在还没有的程式语言。

他把手机递给阿坤。

“看看这个。”

阿坤接过手机。他的手在抖。他盯著屏幕,眼睛几乎贴上去。他滑动,翻页,手指在颤抖。

他看了很久。久到林浩以为他要看完了,他突然抬起头,眼睛血红。

本章未完,点击下一页继续阅读。

其他类型小说相关阅读More+