穿过条条狭窄破旧的巷子,小伙子们皱着眉头,不时爆出粗口。要不被外墙上突然凸出的旧空调的油污蹭脏了衣服,要不被低矮窗户上挂着的女人内衣碰着了头,破烂不堪的路面就像危险的地雷阵,冷不防从地板砖后溅出污泥。在一栋又黑又矮的砖房下,他们听到一个女人的咆哮声,然后便是噼里啪啦的摔东西声。三楼的窗户洞开着,一个胖女人不断地从三楼摔出东西,嘴里骂骂不休:“拖!拖!拖!老娘叫你拖!几个月的房租没交了?滚!穷光蛋。”
哐的一声巨响,一个机箱扔了下来,金属零件散落一地,堆积在那灰大衣的脚下。他垂头静默着,袖口露出的苍白手指在微微颤抖,黑布雨伞在水洼里打转。雨水覆盖了他的脸,淌进他高高的衣领内。
远远立着的小伙子们相视一笑,一哄而散。
“好可怜的屠龙战士哦。”
“他要是“融”,我就是“上善大师”啦!”……
在他弓下腰去抚摸变形的机箱时,雨停了。他迷茫地一抬头,看到一张蔚蓝的八角形天空,天空里有一张精致的女人的脸。她的鼻尖小巧微翘,从仰望的角度更显调皮不羁。她的脸红通通的,显然在寒风中伫立已久。
“你是?”
她露出失望的表情:“我是“骆驼”呀。”
“你怎么是……”他咽下了下半句话,不好意思地笑笑。脸上浮出那种不可思议却又容易理解的羞赧。在程序员的世界,遇见异性就像在Bata程序中发现彩蛋一样稀奇,更何况是这样一位旷世奇才。
她上上下下地打量这幢房子,目光垂落到他的肩上,鼻子涩涩的。目光里长满了毛刺:这就是传奇的屠龙战士的归处吗?
“融”解开大衣扣子,把湿漉漉的机箱抱进怀里。一个扎着羊角辫的小女孩从屋子里冲出来,抱住他的大腿,带着哭腔喊道:“叔叔,别走啊,你留下来教凉凉数学题啊!”
“融”用一只手抱着机箱,另一只手抱起五岁大的凉凉,久久回望这低矮的屋檐,似在留恋些什么。
“骆骑”冲进屋子,旋即又折回来,得意地说:“你可以继续住这啦!”
说是三楼阁楼,其实就是一个楼梯间。门外面便是砖头遍地的屋顶,水泥柱头上还裸露着钢筋,红砖围栏上长满了野草,屋子里不到十平米,主人高大的身子一直立,便顶着了白炽灯。他一坐下,硬木板床便发出嘎吱嘎吱的抗议。来客担心地去瞧床脚,她愣住了,压根就没有床脚,一头是红砖垒就的,另一头搁在一个废弃的箱子上。主人不自在地搓着手,好像他才是这里的生客,他手忙脚乱地清空一张方桌,说:“坐吧。”
她的眼圈红了,一眨不眨地望着他,目光里写满了为什么。
“其实这地方还是不错的,屋顶可以观赏月亮,晾衣服也很方便,还有这。”他不知从哪儿扯出一根电缆,得意地说:“有它呢,我就可以登上全球任何一台服务器,收费的,房东算在电话费里。这儿甚至还有热点,免费的,你不信?”
她静静地望着他,望着这个曾经像十亿光年那么遥远此匕刻却又如此贴近的人,她曾经在广为流传的经典代码里,在他的对战录像中无数次揣摩他的样子、他的思想甚至他的生活。她一闭上眼睛就能浮出他的样子,然而,当空间的距离消失后,那曾经鲜明生动的印象陡然拉得那般遥远,陌生,除了地板上那双磨损严重的人字拖。她怔怔地望着它,他不好意思地把鞋往床底踢了踢,说你是怎么跟房东说的?”
“我是用口袋跟她说的啊。”她拍自外衣两个卡通熊口袋,大声说:“你欠我一个人情!怎么还?”
“嗯。”他有些窘迫地翻开抽屉,从里面找出几个镍币。
傻瓜,其实是我欠你的。她在里幽幽地说。但她仍旧用很严厉的目光催促着他,她喜欢看他发窘的样子。
“一,二,三……九个,可以吃一顿好的啦。”他摊开手掌里闪闪发光的硬币。
他们挑窗一张桌子坐了下来,对着被油烟熏得面目模糊的菜价表,犹豫半天,才在服务员的催促下要了一个五元的蒸菜和一个四元的木桶饭。
蒸菜很快就端上来了,红艳艳的油泼辣子铺在滑嫩的鲢鱼脯上,她得意地眨眨眼,操起筷子狼吞虎咽起来。
她听到他肚子里的咕噜声,听起来就像是PDA电池没电的提示音。她哈哈大笑起来,笑得辣子呛进了喉咙,有点难受又有点快乐地咳嗽起来。
“原来木桶饭采用了缓存技术。”他自我解嘲地说。
“还是咱的蒸菜好呀,采用了apache+php,虽然应付高并发有点吃力,但在访问量较小时速度还是蛮快的。”
“我的木桶饭采用了squid作反向代理,虽然前期有点慢,但一旦缓存好了,来多少人都不怕。”
“很不幸,你们做了触发缓存的那一批。”她伸出火辣辣的舌头做了个鬼脸。
“老板的缓存机希有问题,应当把触发缓存改为定时缓存,以改善食客的体验。”端菜的招待一个个路过满脸期待的他,却没有一个停在他桌前。
“好像是丢包了。”他沮丧地说。
她咯咯地笑起来,树起自己的空碗,伸长舌头舔了圈汤汁,夸张地吐着热气。
木桶饭终于上来了,他还没动筷子,豺狼样的她已经先入为主地开抢了。两人难民般地教拉着一桶米饭,还发出很满足的笑声很响亮的咂卩巴声,弓来满堂鄙夷的目光。
雨停了,街上的人多了起来,在临街的一面,游戏机、博彩机、自动照相馆发出清脆的电子音乐招徕着顾客。女孩子们缠着男友的胳膊,呢喃着,欢笑着,从一个五光十色的橱窗蹦到另一个橱窗,还发出“哇哇”的惊喜声。
“我也想要一个。”她指着刮刮奖摊位后可爱的绒熊。
“融”微皱着眉头,为难地望着她。
“不行!你想办法,反正你欠我的。”她就像一个热恋中的女友那样毫不通融。
“那好巴。”
“融”来到摊前,弯下腰:“这些奖券是可以的吗?”
“选”老板愣了一下,“当然,随便拣,刚那小伙子给她女朋友买了一捆,瞧,正刮着呢。”
“融”低头注视旁边一个纸箱子里刮过的奖券,他的眼睛因思考而眯了起来。一会儿,“骆驼”怀里堆满了毛茸茸的卡通玩具,最上面一个最大的是老板送的,他说:“二位,不能再刮了,再刮小店就要赔本了,我力卩送你一个,两位先走不送……”
她的脸紧贴着绒熊,就像思帮里含满了棒棒糖的小姑娘一样幸福。
在不远处的一个带屏幕的机器前,人头攒动,那可不是一台普通的游戏机,那是世界上最先进的智能程序在与人进行对话,据说谁能够判断出自己聊天的是人还是程序将获得一万元大奖。投入一个硬币,你便能得到问一个问题的机会,有个小伙子用一张大钞换了一百个硬币,全投了进去,进行了一下午人机对话,仍然没能从中甄别出真正的机器程序。这会儿,他正哭丧着脸挨女朋友的责备呢。
“骆驼”把一怀抱玩具塞到“融”手里,夹起一个硬币在融面前一亮,说:“看我的。”
然后她手指灵动如飞地在角虫摸屏上输入一行字,屏幕上那拟人化的面孔突然凝固了,仔细一听,扬声器还传来咔咔的声音。接着屏幕突然一闪,就灭了。
“哈哈哈,被我难隹了吧。”她得意洋洋地拍着手,在排成长蛇的人群惊诧的目光中溜走了。
“真饱呀。”她白着自己肚皮,她的头枕在“融”宽阔的肩膀上,这一刻,她觉得自己是宇宙中最幸福的人。只是,他的肩膀肉再多一点就好啦。
“骆驼”的头真重,对于一个女孩子而言,她的脑袋的确是算大的,与她的智慧很相称。但她的脸小小的,不时流露出幼稚,怎么也无法与那一个老到的程序天才联系起来。在街上的图灵测试中,她输入一行Pel代码。Pel是一门非常古老的程序语言,它的发明者是语言学家拉里,而非程序大师,因此用Pel书写的代码更像一首诗,即便是不懂Perl代码的人也能读懂它。街上的聊天智能程序既执行了这行代码,又错把它理解成一首诗,所以它可悲的当机了。
“融”闻着她大波浪卷散发的清香,这是他第一次如Itt真切地被少女的芬芳所拥抱,他曾经以为,一个独孤求道的程序员注定像他的老师那样在一个僻冷的图书馆终老一生,他对此很笃定,也很平静。他非常坦然地面对有如浩渺星空般巨大的空寂。他从未想过改变……但此次,他冷漠的心融化了。他的目光就像一杯热巧克力上蒸腾的热气,
一团模糊。
“喂!你那天为什么救我?”她用胳膊没轻没重地顶了他一下。
“因为你是Perl的传人啊。”他轻描淡写地说。他可以感觉到怀里的她轻轻地一颤。
“你也是?”
“当然不。谁会学这么丑陋的语言?除了那些脑残无知少女(pel的语言含大量的符号,看起来就像是上世纪的火星文,故有此说)。”
“喂。”她又打了他一下,“你说谁呢?我脑残?你不想活啦?”她爬起来,掐住他的脖子。
他只是静静地望着她,欣赏着这个野猫一样的女孩,感到自己真的被她征服了。
第一次在Quake10见到“骆驼”,用一个词来形容他的感觉那就是“惊艳”。像他这样的程序员,已经不太容易被代码语言打动了。
他欣赏她简洁的语句,灵动的语法,不讲理的逻辑。她肯定是孤独的,因为Perl就是孤独的。在上个世纪,Perl被认为是一门丑陋的语言,程序界的旁门左道,由于它笨拙的语法结构,令人眼花缭乱的括号,与主流思想完全背离的设计思路……
或者,是由于自己同为一门濒临灭绝的语言的传人,他对“骆驼”有着一份特殊的关注。直到那天,他不顾一切地出手相救,他才发现这份特殊的感情已远远超出惺惺相惜。那是什么?他为自己感到羞耻,他常常梦到一个注射了毒药的苹果。所幸,她不是。
他纷乱的思绪拉回现实,目光垂落到她趾高气扬的鼻尖上,心中一动,便把她拉下来,紧紧抱在怀里。她刚才还霸道蛮横的身体突然变得柔软,执拗了几下,便不动了。
“你的独门武器是什么?”她尖尖的手指化为一只只甲壳虫,放肆无礼地在他胸膛上乱。
“我?”他无语。像他这种境界的人,已经无所谓精通哪门语言了。但他的内心深处的确深埋着对一门濒备失传的技艺的责任,那就像是冠冕无数的棋王所愿保留的最后一个头衔。那是一份荣誉,一份继承。因为全世界能珍藏它的唯他一人耳!
“不能说么?”她咬住他的耳朵。
“呵,是Lisp。”
旧报纸覆盖的窗户突然被一道亮光刺破,然后是一声巨雷,天空下起雨来。这南方的城市,即便是在寒冬,也是那般的潮湿。
在一百多年前,一本影响深远的科幻着作开篇明义地写道:在很久很久以前的魔法时代,任何一位谨慎的巫师都把自己的真名实姓看做最值得珍视的密藏,同时也是对自己生命的最大威胁。因为一旦敌人掌握了他的真名实姓,随便哪种人人皆知的普通魔法都能致其死地。世易时移,人类社会产生了工业革命,时代转了一圈又回到魔法时代,人们重新担心起自己的真名实姓来。
大师的预言是深邃的。确实如此,且不说如今黑客们是怎样谨小慎微地隐藏自己的身份,就连程序语言也变成一种禁忌。从某种意义上,Lisp不就是自己的真名实姓么?
Lisp?她撇撇嘴,心不在焉地去摸他下巴的短楂,有点糙手,但很好玩。
她没有以牙还牙嘲笑他的独门武器,因为她虽然不理解这门语言,但她至少明白这门古老语言所应享有的尊严。历史中常常可以读到:一些被主流舞台所驱逐的吟游诗人,他们苦心孤诣地研磨着它,保护着它,不容任何世俗的流言诋毁它。他们心中对Lisp充满了宗教般的虔诚。然而,Lisp终究还是灭绝了,那已经是上个世纪的事了。
“Lisp好在哪里?”她的脸贴在他的胸膛,聆听着他的心跳,那嗵嗵的声音就像是巨人的脚步声。在传奇的Lisp面前,任何顶尖高手都像一个不谙世事的少年那样无知,他们的困惑常常可以归为这样一个傻气而幼稚的问题。
“因为,它是最接近于理解上帝的语言。”
“上帝?”她愣住了。如希腊语所言:在木匠眼里,月亮是木头的。在程序员眼里,上帝用代码创造了宇宙。圈内流传一个笑话,一个程序员问:上帝真的在七天之内创造了世界吗?先知的回答是:依靠着可乐和糖果,他在六天之内就完成了这一切。第七天他回到家里,发现他的女朋友离开了他。
想到这,她咯咯地笑起来。他饶有兴致地望着她,好像他并不意外她毫无来由地。
“喂,说正经的。”她止住笑,“你为什么有肚无胸啊?”
他一愣:“什么意思?”
“你身怀绝技却胸无大志呀。你的理想是什么?难道你没有理想吗?”她不怀好意地扫视这简陋的房间。
“理想?有的。”他笑了,“理想就像是一条内裤,得有,但总不能逢人就秀吧。你的理想呢?”
“哎呀呀,对头。理想就像是一条内裤,其实我没穿,却不好意思说。”她婴儿肥的脸蛋飞上两朵红晕。
“嗯。理想就像是内裤,小时候的理想比较大,长大后却越来越小,于是就现在这样啰。”
“哈哈。理想这条内裤,看别人穿得挺诱惑,自己却没那个身材。”
他们响亮的笑声充盈着这四面漏风的屋子,这在房东太太看来简直是不可理喻,她愤怒地用一根长竹竿捅楼板。
良久,她不好意思地把脸藏在他下巴下,轻声说:“你喜欢我的身材吗?”
“嗯。”
“那么,你想看我的理想吗?”
屋子里本来就窄小,还被四处乱放的零件占领着。她随便挪一下屁股都会被该死的螺钉硌疼。一个下午她都在叽叽喳喳说个不停。
“你知道我是怎么认识你的吗?小时候无论我使用什么开源软件,人家都会告诉我,里面的核心代码是一个叫“融”的人开发的。而且这家伙很嚣张,在许多重要的软件里都留下了后门程序。人们痛恨他的胡作非为,却又不得不使用他的程序。那时我就暗暗发誓,一定要把他揪出来,揪他的耳朵吼:你凭什么偷窥我的隐私?”
“后来,人们叫他屠龙战士。因为他与普通的程序高手如此不同。他对商业软件嗤之以鼻,他甚至藐视团队的工作方式,他就是一个独行者,孜孜以求着他的理想,他独特的理念,那就是人们常说的编程之道:龙。他寻找着龙,哈哈,现在想起来真好笑,那时我是一脸花痴地想象着屠龙战士的威猛形象。说真的,我现在还不能理解什么是龙。”
“再后来,在Caltech比赛中,他留在尘世的唯一象征“流火”被击败了。在“流火”被撕成粉碎的那一刻,我的心也碎了。我不敢相信自己的眼睛。有人说“融”已经被废了,我说你放屁!直到今天,我来到他面前,我才明白,今天的“融”真的已经不再是从前那不可一世的天才了。曾经他目空一切,嚣张却又令人信服,乐于接受来自四面八方的挑战,他以一当百的创造力,他高山仰止的编程境界,都深深地震撼着高手如云的代码世界。而现在,他低调,冷漠,无心维护自己的荣誉,他,他甚至,付不起房租……这中间发生了什么?“融”!”她的眼眶红了,嗓音陡然变得哽咽。
“融”没有回答,他安静地忙碌着。他用一把瑞士军刀削一根同轴电缆,就像主妇给瓜果剥皮一样娴熟;他举起一红一黑两根探针,一根探头捏在手里,一根放在舌头上,仪表上的指针轻微地动了一下;他大汗淋漓地使着一个电烙铁,额头紧挨着白炽灯泡,神情专注地在一块电路板上工作着,那水银般晶莹饱满的锡液准确地滴在焊点上,凝成完美的半圆球。