第一堂实验课的铃声,比往常任何一节课的铃声都要尖锐。
那声音仿佛一把钥匙,捅进了一群年轻心脏的锁孔里。
计算机系一班的学生,包括张汉玉在内,都下意识地挺直了腰背。
领他们去的不是年轻助教,而是系里年纪最大,也最不苟言笑的王教授。
王教授头发花白,梳得一丝不苟,身上那件洗得发黄的白大褂,领口和袖口却熨烫得笔直。
他没有说半句废话,只是在走廊尽头一扇厚重的铁门前停下。
“手机械的,要去车间看车床。”
“学化工的,要去实验室看烧瓶。”
“你们,学计算机的,今天就看你们的‘车床’和‘烧瓶’。”
他从口袋里掏出一大串黄铜钥匙,叮当作响,选中最长的那一把,插进锁孔,用力转动。
【咔哒】
一声沉闷的巨响。
铁门向内推开。
一股奇异的气流扑面而来。
那不是风,而是一种混合着臭氧的微腥,温热金属的焦糊,还有无数风扇搅动空气的独特气息。
紧接着,是声音。
一种低沉的,持续不断的嗡鸣,像是有一整座蜂巢被关在了房间里,无数工蜂正鼓动着翅膀。
张汉玉的呼吸停滞了一瞬。
他站在门口,越过王教授的肩膀,看到了那个占据了整个房间的庞然大物。
那不是一台机器。
那是一组由无数铁灰色机柜组成的阵列。
机柜上布满了密密麻麻的指示灯,红的,绿的,黄的,像怪兽身上无数只永不眨动的眼睛,正以一种人类无法理解的频率闪烁着。
无数颜色各异的电缆,从机柜背后延伸出来,像巨兽的血管与神经,盘根错节,最终汇入天花板和地板下的线槽里。
这就是计算机。
dJS-130型晶体管计算机。
是他在书本上,在杂志上,在梦里,描摹过无数次的图景。
可当它真实地矗立在眼前时,所有的想象都变得苍白无力。
它带来的压迫感,远比任何文字描述要强烈一万倍。
“进来。”
王教授的声音打破了死寂。
学生们这才如梦初醒,敬畏地,小心翼翼地,踏入了这间堪称圣殿的机房。
室友刘建国在他耳边低声咕哝。
“我的娘咧,这玩意儿得用多少铁?”
林志远则撇了撇嘴,用他那一贯的腔调说。
“看着吓人,也不知道能干啥,听说还不如算盘快。”
张汉玉没有理会他们。
他的全部心神,都被这台钢铁巨兽牢牢吸住了。
他的目光从闪烁的指示灯,滑到一排排磁带机,再到那个位于房间中央,如同祭坛般的操作台。
他攥着笔记本的手,指节因为用力而发白。
“安静。”
王教授的声音不大,却让整个机房的嗡鸣声都仿佛降低了。
“你们眼前的,是dJS-130,我们学校最宝贵的财富。它能在一秒钟内,完成五万次运算。”
“这个速度,是你们用算盘,打一辈子也无法企及的。”
他的目光扫过每一个学生。
“书本上的知识,你们或许都背熟了。但在这里,我只强调一点。”
“机器,是诚实的。”
“它不会因为你出身好就给你面子,也不会因为你长得漂亮就放你一马。你对,它就运行。你错,它就报错。它只认逻辑。”
王教授走到操作台旁,拿起一叠打好孔的卡片。
“今天的任务很简单。”
“编写一个程序,计算1加1等于几。”
教室里响起一阵轻微的骚动。
“1加1?”
“这也太简单了吧?”
林志远甚至轻笑出声。
王教授冷冷地看了他一眼。
“觉得简单?”
“很好。”
“操作台旁边是穿孔机,一人十张穿孔卡片。现在开始,谁第一个让打印机打出‘2’,谁的实验课成绩就是满分。”
说完,他便抱起手臂,靠在机柜上,不再言语。
这下,没人敢笑了。
所有人都围了上去。
穿孔机是老式的,需要手动操作,像一台笨重的打字机。
学生们立刻就乱了阵脚。
“哎,这个指令怎么写来着?”
“卡片要怎么放进去?”
“教授,这个孔打错了能改吗?”
“不能。”
王教授的回答简洁而冰冷。
张汉玉没有立刻冲上去。
他站在原地,闭上眼睛,脑海里飞速地过了一遍程序的逻辑。
输入,运算,输出。
需要定义两个变量,赋值,调用加法指令,然后将结果输出到打印设备。
他睁开眼,在笔记本上飞快地写下了几行机器代码。
然后,他才不紧不慢地走向一台没人的穿孔机。
他的动作很稳。
手指在键盘上敲击,每一次落下,机器都会发出一声清脆的【咔嚓】,在卡片的特定位置留下一个细小的方孔。
他打得很慢,每打一个孔,都会低头确认一遍。
他知道,一个孔的位置错了,整张卡片就废了。
他身边的林志远已经打废了三张卡片,嘴里不耐烦地骂骂咧咧。
“什么破玩意儿!”
张汉玉没有理会。
他沉浸在自己的世界里。
那些冰冷的代码,通过他的手指,被物化成卡片上一个个精确的孔洞。
这是一种前所未有的体验。
仿佛他正在用一种古老的语言,与眼前的钢铁巨兽进行第一次沟通。
五分钟后,他拿着三张打好孔的卡片,走到了王教授面前。
他是第一个完成的。
王教授看了他一眼,没有说话,只是指了指操作台上的卡片输入机。
张汉玉深吸一口气,将三张卡片小心翼翼地放了进去。
他按下绿色的启动按钮。
【嗡——】
机器的轰鸣声似乎大了一些。
卡片被一张张吞入,机柜上的指示灯开始疯狂闪烁,像是在进行一场无声的交响。
所有人的目光都聚焦在房间另一头的打印机上。
那是一台笨重的电传打字机。
【咔哒,咔哒,咔哒……】
打印机的字头开始移动,敲击在白色的纸带上。
所有人都屏住了呼吸。
张汉-玉的心脏也提到了嗓子眼。
然而,打印机只打出了一行谁也看不懂的乱码,然后就停下了。
【ERRoR: SYNtAx FAULt】
失败了。
周围传来几声压抑的窃笑。
林志远的声音不大不小,刚好能让张汉玉听见。
“我还以为多厉害呢,原来也是个银样镴枪头。”
张汉玉的脸颊有些发烫。
他知道自己大意了。
理论和实践,果然隔着一道鸿沟。
王教授走了过来,拿起那张打印出乱码的纸带。
“语法错误。”
他看向张汉玉。
“你的逻辑没错,但你跟它说话的方式,它听不懂。”
“机器是死的,人是活的。回去再想想。”
他的语气里没有责备,也没有鼓励,只有一种对事实的陈述。
张汉玉没有辩解。
他拿起自己的那叠废卡片,走到角落,一张一张地仔细检查。
他回忆着刚才的每一个步骤。
是哪一个指令用错了?
还是哪个参数的格式不对?
他的大脑像一台计算机一样,飞速地回溯,排查。
十分钟后,他找到了问题所在。
在输出指令里,他调用了一个高级语言的函数,但在这台老旧的机器上,必须使用更底层的硬件端口地址。
这是一个极其微小的细节,教科书上一笔带过,但他却忽略了。
他重新回到穿孔机前。
这一次,他的动作更加谨慎。
当他拿着新打好的卡片再次走向操作台时,林志远已经得意洋洋地完成了他的程序。
“教授,我好了!”
王教授接过他的卡片,放入机器。
【嗡——】
【咔哒,咔哒……】
打印机上,清清楚楚地打出了一个阿拉伯数字。
【2】
林志远兴奋地挥了一下拳头。
“看见没!满分!”
他挑衅地看了一眼张汉玉。
王教授点了点头,却没什么表情。
“很好。”
“下一个。”
他示意张汉玉。
张汉玉沉默地将自己的卡片放了进去。
所有人都觉得,他只是在做无用功。
最好的成绩已经被林志远拿走了。
【嗡——】
指示灯再次闪烁。
打印机的字头也再次移动。
【咔哒,咔哒……】
这一次,纸带上出现的,不是一个孤零零的【2】。
而是一行完整的算式。
【1 + 1 = 2】
机房里一片死寂。
连嗡鸣声都仿佛消失了。
林志远的笑容僵在了脸上。
所有人都目瞪口呆地看着那行简单的算式。
同样是计算1加1,但张汉玉不仅算出了结果,还把计算过程原原本本地打印了出来。
这其中的程序复杂度,完全不是一个量级。
王教授快步走到打印机前,一把扯下那张纸带。
他那双总是波澜不惊的眼睛里,第一次露出了震惊。
他死死地盯着那行字,然后猛地抬起头,看向张汉玉。
“这个输出格式,你是怎么做到的?”
张汉玉平静地回答。
“我没有直接调用结果,而是将数字‘1’,符号‘+’,‘=’,还有最终的运算结果,分别存入四个独立的内存地址,再按照顺序,依次输出到打印端口。”
王教授的瞳孔骤然收缩。
这个操作,已经涉及到基础的内存管理和汇编语言的思路了。
这绝不是一个刚接触计算机的本科生能想出来的。
“你以前接触过计算机?”
“没有。”
张汉玉摇了摇头。
“只是在图书馆的书上看到过类似的概念。”
王教授沉默了。
他看着眼前的这个年轻人,高大,结实,穿着洗得发白的旧衣服,眼神却像机房里最深邃的黑暗,闪烁着逻辑的光芒。
他以为他只是一块好铁,没想到,是一块未经雕琢的璞玉。
“你叫什么名字?”
“张汉玉。”
王教授点了点头,将那张写着【1 + 1 = 2】的纸带,仔细地折好,放进了自己白大褂的口袋里。
他没有再宣布谁是满分。
他只是转身,对所有人说了一句。
“下课。”
学生们陆续离开,还在议论着刚才发生的一切。
张汉玉却留在了原地。
他走到那台冰冷的dJS-130前,伸出手,轻轻地,抚摸着机柜上冰冷的金属外壳。
他能感觉到,金属下面,有电流在奔腾,有逻辑在流淌。
一个全新的世界,正透过他的指尖,向他敞开大门。