1
林薇盯着屏幕上的那行代码,直到眼睛开始发酸。
10 PRINT "HELLO WORLD"
那是她十二岁时的笔迹——如果代码也有笔迹的话。简陋的BASIC语法,无限循环的结构,每个字符都透着初学者的笨拙和兴奋。
电脑已经恢复正常。她重启了三次,杀毒软件扫描了两遍,甚至重装了系统。但那行代码就像刻在显示器深处的纹身,每隔几小时就会闪现一次,每次都是在她最意想不到的时刻。
第一次是在她给女儿检查作业时,屏幕保护程序突然变成滚动的“HELLO WORLD”。
第二次是在深夜,她打开银行APP查看余额,输入密码的瞬间,键盘背光闪烁出同样的字符。
第三次,最诡异的一次——女儿的小天才电话手表收到一条陌生信息,只有五个字母:HELLO。
“妈妈,这是你发的吗?”小雨举着手表问。
林薇看着女儿天真的脸,摇了摇头:“可能是系统测试消息。”
她撒了谎。这是她第一次对女儿隐瞒什么。那个隐藏在数字背后的“存在”,让她感到一种久违的恐惧——不是对危险的恐惧,而是对未知的恐惧。
程序员的职业病:遇到无法解释的现象,第一反应是寻找逻辑。
林薇开始记录每一次“闪现”:
时间:随机,但多在深夜或她情绪低谷时
媒介:任何电子设备,包括她七年没开机的旧iPad
内容:始终是那行代码的变体
共同点:每次出现后,设备都会短暂异常——网络延迟增加0.3秒,CPU占用率莫名上升
她用一个老程序员的直觉判断:这不是病毒,也不是黑客攻击。
病毒有目的:勒索、窃密、破坏。
黑客有动机:利益、炫耀、攻击。
但这个“存在”只是在重复同一件事:打招呼。
像一只被困在数字世界的幽灵,用唯一记得的方式,向外界发出信号。
2
失业第七天,林薇的存款数字又减少了一万二。
房贷自动扣款,父亲的药费,女儿的课外班续费。她坐在社区图书馆的公共电脑前,第无数次刷新求职网站。筛选条件从“技术总监”降到“高级开发”,再降到“普通开发”。
终于,一个电话打了进来。
“是林薇女士吗?我们是字节跳动HR,看到您的简历……”
林薇的心跳加快了一拍。字节,那是无数程序员梦想的地方。
“我们对您的履历很感兴趣,尤其是您在金融系统稳定性方面的经验。”对方的声音专业而热情,“不过我们的岗位要求可能和您之前的经历有些不同……”
“您请说。”
“我们需要的是能快速适应敏捷开发、精通Go语言和云原生架构、能接受高强度加班的技术专家。”HR顿了顿,“而且这个岗位需要带领一支非常年轻的团队,平均年龄二十四岁。”
林薇听懂了潜台词。
“我学习能力很强,”她说,声音比自己想象的更坚定,“而且我有十五年处理复杂系统的经验,这是年轻人没有的。”
“当然当然,”HR礼貌地回应,“所以我们想邀请您来面试。不过……”又一个停顿,“薪资方面,可能只能给到您上一份工作的百分之七十。您知道的,市场行情……”
百分之七十。意味着月薪从五万降到三万五,税后可能不到三万。
而她每月固定支出就要两万以上。
“我可以考虑。”林薇说,“面试时间是什么时候?”
挂掉电话,她看着电脑屏幕。求职网站的界面突然闪烁了一下,变成全黑,然后那行熟悉的代码再次出现:
10 PRINT "HELLO WEI"
这次不同。不是“WORLD”,是“WEI”。
她的英文名。二十年前用的名字。
林薇的手指停在键盘上方。她深吸一口气,敲下:
WHO ARE YOU?
屏幕上的字符消失了,取而代之的是一串IP地址:
203.107.45.118
下面还有一行小字:
LOCATION: BEIJING HAIDIAN DISTRICT, ZHONGGUANCUN STREET 28, FORMER YOUTH SCIENCE CENTER
中关村大街28号,老少年宫旧址。
林薇的呼吸停住了。那是她十二岁第一次接触计算机的地方。1997年,少年宫计算机兴趣班,十台中华学习机,一个戴着厚眼镜的退休老教师。
那个少年宫,五年前就因为城市规划拆除了。
3
深夜十一点,小雨终于睡着了。
林薇给女儿掖好被角,轻轻关上门。客厅里,她的电脑屏幕亮着,显示着百度地图的街景——中关村大街28号现在是一片工地,围挡上写着“科技金融创新园区项目”。
但卫星地图显示,工地角落里还留着一栋三层小楼,那是少年宫的老教学楼,因为被列为“历史建筑”而暂时保留。
林薇打开一个尘封已久的文件夹。里面是她扫描的旧照片:扎着马尾辫的小女孩站在计算机前,手里拿着3.5英寸软盘;获奖证书上写着“1998年北京市青少年计算机竞赛二等奖”;还有一张集体照,她和同学们围着那个老教师。
老教师姓陈,大家都叫他陈爷爷。他总是穿着一件洗得发白的中山装,说话慢条斯理,但讲到计算机原理时眼睛会发光。
“计算机不只是工具,”陈爷爷常说,“它是思维的延伸。你们写的每一行代码,都是在用另一种语言表达思想。”
林薇还记得他教的第一个程序就是那个无限循环的“HELLO WORLD”。他说:“这是你与机器的第一次对话。记住这一刻,因为从今天起,你多了一种理解世界的方式。”
手机震动。是猎头发来的微信:
“林姐,字节那边反馈了,说您的技术栈确实偏传统,而且年龄……您懂的。他们建议您看看培训机构的讲师岗位,或者考虑转项目管理?”
林薇没有回复。她打开另一个窗口,开始追踪那个IP地址。
traceroute 203.107.45.118
命令行的结果让她皱眉。IP是真实的,但路由路径极其诡异——数据包在北京绕了七八个节点,每个节点都是早已废弃的旧网络设施。最后一段甚至显示通过“教育科研网CERNET”的某个老接入点。
CERNET,中国教育和科研计算机网,那是上世纪九十年代高校和科研机构用的网络。现在早该升级换代了。
除非……有人故意保留了这些旧设施。
林薇查看了IP注册信息。注册单位:“北京市青少年科技教育协会”,注册时间:1999年。联系人是陈树仁——陈爷爷的全名。
一个废弃二十多年的IP地址,一个早已不存在的机构,一个可能已经去世的老人。
但它在活动。在主动联系她。
林薇看了一眼卧室门,小雨轻微的呼吸声传来。她又看了一眼银行APP里的余额:五万四千元。
按照现在的支出速度,最多四个月。
四个月后,如果还没有收入,她就得动小雨的教育基金。那是丈夫临终前再三叮嘱不能动的钱。
“薇薇,我们没给孩子留下什么,只有这笔钱。”化疗让丈夫瘦得脱相,但眼神依然清晰,“答应我,无论多难,都要让小雨受最好的教育。”
她答应了。
而现在,她可能要做相反的事。
电脑屏幕又闪烁了。这次不是代码,是一张图片缓慢加载出来——一张手绘的地图,标注着少年宫老教学楼的内部结构。在三楼机房的位置,画着一个红色的“X”。
下面有一行字:
BRING THE DISK. TONIGHT. 2 AM.
“带上那张磁盘。今晚。凌晨两点。”
林薇猛地站起来,椅子在地上划出刺耳的声音。她冲到书房角落,翻出一个积满灰尘的纸箱。那是她从父母家搬来时带来的“童年记忆箱”。
旧奖状、褪色的红领巾、千纸鹤、邮票册……最底下,一个透明的塑料盒里,躺着三张3.5英寸软盘。
标签上用圆珠笔写着:
“BASIC程序-猜数字游戏”
“1998竞赛-迷宫算法”
“与计算机的第一次对话-1997.9.1”
林薇拿起第三张软盘。塑料外壳已经泛黄,但保存完好。她轻轻擦去灰尘,仿佛在触碰一个时代的遗物。
这张软盘里,应该就是那个无限循环的“HELLO WORLD”。
她为什么要带上它?去一个废弃的建筑?在凌晨两点?
理智告诉她:这是个糟糕的主意。可能是陷阱,可能是恶作剧,至少是极端不安全的行为。
但另一种声音在她心里说:这是你失业以来,第一个主动找上门的机会。虽然诡异,虽然危险,但至少……它不是另一个降薪50%的offer,不是另一个婉拒的HR,不是另一个提醒你“年龄太大”的猎头。
林薇打开衣柜,拿出那件很久没穿的黑色运动服。又翻出一个强光手电筒——去年露营时买的,电量还有一半。
她坐在床边,看着熟睡的女儿。小雨的睫毛很长,像她爸爸。睡梦中,她嘟囔了一句:“妈妈……代码……”
连做梦都在说这个。
林薇轻轻摸了摸女儿的脸。如果丈夫还在,他会怎么说?
“别去,”他一定会说,“太危险了。我们再想别的办法。”
但他不在了。现在只有她自己,和一个需要她保护的女儿。
手机屏幕亮起,是母亲发来的语音:“薇薇,你爸今天情况不错,新药好像有效果。就是贵了点……你别太有压力,我们还有点退休金。”
林薇没有点开下一条语音。她知道母亲接下来要说什么:“不够我们再想办法,你别太拼。”
所有的路都在收缩。求职的路,借钱的路,拖延的路。每一条都指向同一个终点:耗尽所有积蓄,然后……
然后怎么办?
她不知道。
电脑屏幕上的地图还在,那个红色的“X”像在跳动。
林薇看了一眼时间:晚上十一点四十分。
她有两小时二十分钟做决定。
4
凌晨一点五十分,林薇站在中关村大街28号的工地围挡外。
秋夜的北京已经有了凉意,风吹过工地上的沙土,扬起一阵尘雾。围挡有个缺口,被几块木板虚掩着。她用手电筒照了照,里面漆黑一片。
手机震动。她以为是那个“幽灵”的提示,却是小雨班主任王老师发来的微信:
“小雨妈妈,天才班的选拔考试提前了,下周五。需要交一份家长的职业和特长介绍,最好能体现对孩子逻辑思维的培养。您方便写一下吗?”
职业介绍。她现在的职业是“失业程序员”。
特长?十五年的系统维护经验,在少儿编程教育市场上一文不值。
林薇回了一个“好的,谢谢王老师”,然后关掉手机屏幕。她需要集中注意力。
推开木板,钻进围挡。工地里堆满了建材和渣土,手电筒的光束在黑暗中切开一道狭长的通路。那栋三层小楼立在工地深处,外墙的瓷砖已经剥落大半,窗户破碎,像一具被遗弃的骨架。
但她注意到一个细节:三楼的某个窗户,有微弱的光。
不是电灯的光,更像是……显示器的光?那种老式CRT显示器的淡绿色荧光。
林薇握紧了手电筒。口袋里,那张软盘硬硬的边缘抵着大腿。她绕过一堆钢筋,找到小楼的入口。门是木质的,早已腐朽,半敞开着。
一楼大厅堆满建筑垃圾,空气里弥漫着霉味和灰尘。墙上还残留着少年宫时期的宣传画:“学科学,爱科学”“计算机要从娃娃抓起”。画中孩子们的笑脸在昏黄的手电光中显得诡异。
楼梯在右侧。木制楼梯吱呀作响,每踏一步都像在唤醒这座建筑的记忆。
二楼是教室,桌椅歪斜,黑板上还有没擦干净的字迹。林薇的手电光扫过墙角,突然照到一个东西——
一台中华学习机。
真的是一台。那种上世纪九十年代学校计算机教室标配的机器,键盘和主机一体,配着那个时代特有的绿色显示器。它就放在一张课桌上,插着电,屏幕亮着。
屏幕上显示的,正是她的“HELLO WORLD”程序。
林薇走近。键盘上落满灰尘,但空格键附近有几个清晰的指印——新鲜的指印。
有人在这里。或者,刚刚还在。
“陈老师?”她试探着叫了一声。
只有回音。
她继续上楼。三楼是机房,门关着。林薇推开门,手电光扫进去——
房间里有光。
不是手电的光,是几十台显示器的光。几十台各式各样的老式计算机:中华学习机、苹果II、IBM PC、甚至还有一台比她年龄还大的国产长城计算机。它们全都亮着屏幕,全都在运行程序。
而所有屏幕上,都是同一行代码的变体:
HELLO WEI
WEI HELLO
HELLO FROM 1997
1997 CALLING
房间中央,背对着她,坐着一个老人。
花白的头发,佝偻的背,穿着中山装。他正对着一台最老的计算机,手指在键盘上缓慢敲击。
听到脚步声,他转过身。
是陈爷爷。比记忆中老了很多,但确实是那个教她第一行代码的老人。他的眼镜片很厚,眼神却异常清澈。
“你来了。”他说,声音沙哑但平稳,“我就知道你会来。”
林薇站在原地,手电筒的光束在两人之间晃动。
“陈老师……您还活着?”
老人笑了,皱纹像年轮一样展开:“暂时还活着。坐吧。”
他指了指旁边一张椅子。林薇犹豫了一下,还是坐下了。她把那张软盘放在桌上。
“我收到了……信号。”她不知道该怎么描述,“我的电脑,手机,甚至我女儿的手表……”
“是我。”陈爷爷坦然承认,“用了点老技术。你追踪到那个IP了吧?1999年注册的,CERNET的老节点。我保留了一些旧设备。”
“为什么?”林薇问,“为什么要用这种方式联系我?”
老人没有直接回答。他转向那台最老的计算机,敲了几下键盘。屏幕上出现了一个复杂的界面——不是图形界面,是纯命令行,绿色的字符在黑底上滚动。
“这是‘遗产系统’。”他说,“我从1985年开始搭建,收录了四十年间,全国各地青少年写的第一行代码,第一次算法尝试,第一个完整的程序。”
他敲击回车。屏幕上列出成千上万个文件名:
LI_MING_FIRST_1987.BAS
ZHANG_WEI_PAINT_1992.PAS
WANG_LING_GAME_1995.C
……
“你的在这里。”他调出一个文件:LIN_WEI_HELLO_1997.BAS
“这些代码,”陈爷爷继续说,“在商业价值上,一文不值。都是幼稚的、低效的、过时的。但在教育价值上……它们是黄金。”
他转过身,认真地看着林薇:“你知道现在的编程教育最大的问题是什么吗?”
林薇摇头。
“是只教‘怎么写’,不教‘为什么写’。”老人的声音里有了激动,“孩子们在学Python、学Java、学各种时髦的框架,但他们不知道计算机的本质是什么,不知道一个问题可以有多少种解法,不知道——‘计算思维’是什么。”
他指着满屋子的老机器:“这些机器,内存以KB计,硬盘以MB计。在这种限制下写程序,你必须思考。每一个字节都要精打细算,每一个循环都要反复优化。这种‘在限制中创造’的能力,现在的孩子没有了。”
林薇想起自己修复的那个银行系统。年轻团队用最新的云原生方案搞不定,最后是她用最老的方法找到了问题。
“您找我来,是想让我看这些?”她问。
“不。”陈爷爷从抽屉里拿出一沓纸,递给林薇,“我想让你做一件事。”
林薇接过。那是一份项目计划书,封面上写着:
“时光编码计划:用历史代码重构计算思维教育体系”
她快速翻阅。计划的核心是:建立一个开源的教育平台,将四十年间积累的这些“历史代码”转化为互动课程。不是教语法,而是教思维——如何分解问题,如何设计算法,如何调试错误。
“我已经八十二岁了。”陈爷爷平静地说,“癌症晚期,医生说最多还有半年。这个系统,这些资料,如果我不在了,就会彻底消失。”
“您可以交给学校,交给教育机构……”
“我试过。”老人摇头,“他们要么嫌太老,要么想把它商业化——做成又一个收费编程班。这不是我想要的。”
他站起来,走到窗边,看着外面工地的夜色:“林薇,你是我教过的学生里,最有天赋的之一。不是说你技术最好,而是……你理解代码背后的东西。你失业了,对吗?”
林薇一愣:“您怎么知道?”
“你的GitHub已经三个月没更新了。”陈爷爷说,“而且,一个还在职的高级工程师,不会在凌晨两点真的来这种地方。”
他走回来,目光如炬:“我需要一个人,在我离开后,继续这个项目。不是把它做成生意,而是把它做成一种……遗产。留给下一代的真正遗产。”
林薇的脑子飞速运转。这个项目听起来美好,但是:
“资金呢?运营呢?我连自己的生活都……”
“这里有五十万。”陈爷爷从桌子底下拿出一个旧铁盒,打开,里面是存折和几张银行卡,“我毕生的积蓄。不多,但足够项目启动,也够你一年的生活费。”
“为什么选我?”林薇问,“您有那么多学生,有些已经是行业大牛……”
“因为他们都已经‘成功’了。”老人说,“成功的人最难改变。他们有自己的路径依赖,有已经证明有效的商业模式。而你需要改变。更重要的是——”
他停顿了一下,目光变得深远:“你有一个十岁的女儿。你知道现在的教育缺什么,你知道孩子真正需要什么。而且……”
老人笑了,那笑容里有一种孩子般的狡黠:“你是我唯一能找到的,还保留着那张软盘的学生。”
林薇看向桌上的软盘。二十三年了,她居然还留着。
“这个项目,”陈爷爷认真地说,“不是慈善,也不是情怀。它是一个实验:如果我们用最老的代码,教最新的思维,会发生什么?如果让现在的孩子,和二十年前的自己对话,会碰撞出什么?”
他敲了一下键盘。屏幕上,林薇的“HELLO WORLD”程序开始变化。原始的无限循环被重新诠释——变成了一个互动教学模块:
text
10 PRINT "HELLO, I'M 12-YEAR-OLD WEI" 20 PRINT "THIS IS MY FIRST PROGRAM" 30 INPUT "WHAT'S YOUR NAME"; N$ 40 PRINT "HELLO, "; N$; "! LET'S LEARN TOGETHER."“每个孩子都会写‘HELLO WORLD’,”陈爷爷说,“但很少有人告诉他们:这是你与机器文明握手的方式。这是你加入一场持续了八十年的对话的开始。”
林薇感到胸腔里有什么东西在松动。是这些天一直压着她的重量,开始出现裂缝。
“我需要做什么?”她问。
“三件事。”老人竖起三根手指,“第一,整理所有历史代码,建立数据库。第二,设计课程体系,把代码变成故事。第三,找到第一批实验者——真正需要这些的孩子。”
“比如?”
“比如,”陈爷爷调出另一份名单,“河北农村的留守儿童学校,他们的计算机课还在用Windows XP。比如,特殊教育学校,视障孩子几乎接触不到编程。比如……你女儿那样的普通城市孩子,被困在应试和考级的循环里。”
他看向林薇:“这个项目不会让你发财。它可能还会耗尽你所有精力。但有一件事我可以保证——”
老人站起身,走到一台苹果II计算机前。那台机器的屏幕上,一个简陋的图形正在旋转:一个三维的线框立方体,在有限的性能下,努力展现着立体的美感。
“你写的每一行代码,”他说,“都会直接改变一个孩子看世界的方式。不是通过分数,不是通过证书,而是通过……理解。”
理解问题可以被分解。
理解逻辑可以建构世界。
理解失败只是调试的开始。
林薇想起女儿解数学题时的表情——那种解开难题时的光芒。她也想起自己年轻时,第一次让程序运行成功时的狂喜。
那种感觉,已经有太久没出现过了。
“我……”她开口,又停住。
手机又震动了。还是猎头:“林姐,还有个机会,某银行的外包测试岗,月薪两万五,朝九晚五不加班,考虑吗?”
朝九晚五。稳定。不高但够用的薪水。安全的路径。
而眼前的,是一个八十二岁癌症老人的疯狂计划,一个没有商业模式的公益项目,一个靠五十万启动资金的不确定未来。
手电筒的光束里,灰尘在缓缓旋转。
林薇看着那些老机器,看着屏幕上滚动的历史代码。她想起自己修复银行系统的那晚——那种“只有我能解决”的感觉。
也许,这就是她一直在寻找的东西:不是另一个岗位,而是另一个可能。
“我需要时间考虑。”她说。
“你只有三天。”陈爷爷平静地说,“三天后,开发商就要来拆这栋楼了。这些机器,要么被运走保存,要么变成建筑垃圾。”
他从桌上拿起那张软盘,递给林薇:“但无论你决定如何,这个还给你。它永远是你的第一个‘HELLO WORLD’。”
林薇接过软盘。塑料外壳在手心里微微发热,仿佛还保留着二十三年前那个下午的温度。
“我送你出去。”老人说。
下楼时,林薇问了一个一直想问的问题:“您为什么选择这种方式联系我?为什么不直接打电话?”
陈爷爷笑了:“一个八十二岁的老人,突然打电话给几十年没见的学生,说‘我有个疯狂的计划,来废弃建筑找我’——你会来吗?”
林薇想了想:“不会。”
“所以我用了你熟悉的方式。”老人说,“用代码。用你理解的语言。”
走到工地围挡处,天边已经泛起鱼肚白。凌晨五点,北京即将醒来。
“三天。”陈爷爷重复,“三天后的凌晨两点,同样的地方。如果你来,我们开始。如果你不来……”
他没说完,但林薇明白。
她握紧那张软盘,走向地铁站的方向。第一班地铁还没有发车,街道空旷,只有清洁工在扫地。
手机屏幕亮起,是银行APP的推送:“您的账户余额不足提醒:当前余额53,432元,低于设置的最低提醒额度。”
林薇关掉推送。她打开相册,找到一张照片——小雨去年编程比赛获奖的照片。女儿站在台上,举着奖状,笑容灿烂。
照片下面,小雨自己加了一行字:“我和妈妈一样,都是程序员!”
地铁站入口的灯光在晨雾中晕开。林薇停下脚步,回头看了一眼工地。那栋小楼在三层的位置,依然有微弱的荧光。
像个灯塔。或者,像个墓碑。
她不知道三天后自己会做什么决定。
但她知道一件事:从昨晚踏入那个房间开始,有些事情已经不一样了。
就像一段沉睡的代码被唤醒。
就像一个无限循环,在中断二十三年后,重新开始运行。
10 PRINT "HELLO WORLD"
20 GOTO 10
这一次,她也许可以写下不同的内容。
【第二章·完】
下章预告:
林薇只剩下三天时间决定:是接受稳定的外包工作,还是投入老人疯狂的教育计划?与此同时,女儿的天才班选拔在即,她需要提交一份“家长职业介绍”。她该如何描述自己现在的“职业”?选择时刻到来——安全的路,还是未知的路?