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