第30章 真正的計算機
第一堂實驗課的鈴聲,比往常任何一節課的鈴聲都要尖銳。
那聲音仿佛一把鑰匙,捅進了一群年輕心臟的鎖孔里。
計算機系一班的學生,包括張漢玉在內,都下意識地挺直了腰背。
領他們去的不是年輕助教,而是系裡年紀最大,也最不苟言笑的王教授。
王教授頭髮花白,梳得一絲不苟,身上那件洗得發黃的白大褂,領口和袖口卻熨燙得筆直。
他沒有說半句廢話,只是在走廊盡頭一扇厚重的鐵門前停下。
「手機械的,要去車間看車床。」
「學化工的,要去實驗室看燒瓶。」
「你們,學計算機的,今天就看你們的『車床』和『燒瓶』。」
他從口袋裡掏出一大串黃銅鑰匙,叮噹作響,選中最長的那一把,插進鎖孔,用力轉動。
【咔噠】
一聲沉悶的巨響。
鐵門向內推開。
一股奇異的氣流撲面而來。
那不是風,而是一種混合著臭氧的微腥,溫熱金屬的焦糊,還有無數風扇攪動空氣的獨特氣息。
緊接著,是聲音。
一種低沉的,持續不斷的嗡鳴,像是有一整座蜂巢被關在了房間裡,無數工蜂正鼓動著翅膀。
張漢玉的呼吸停滯了一瞬。
他站在門口,越過王教授的肩膀,看到了那個占據了整個房間的龐然大物。
那不是一台機器。
那是一組由無數鐵灰色機櫃組成的陣列。
機柜上布滿了密密麻麻的指示燈,紅的,綠的,黃的,像怪獸身上無數隻永不眨動的眼睛,正以一種人類無法理解的頻率閃爍著。
無數顏色各異的電纜,從機櫃背後延伸出來,像巨獸的血管與神經,盤根錯節,最終匯入天花板和地板下的線槽里。
這就是計算機。
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前,伸出手,輕輕地,撫摸著機柜上冰冷的金屬外殼。
他能感覺到,金屬下面,有電流在奔騰,有邏輯在流淌。
一個全新的世界,正透過他的指尖,向他敞開大門。
那聲音仿佛一把鑰匙,捅進了一群年輕心臟的鎖孔里。
計算機系一班的學生,包括張漢玉在內,都下意識地挺直了腰背。
領他們去的不是年輕助教,而是系裡年紀最大,也最不苟言笑的王教授。
王教授頭髮花白,梳得一絲不苟,身上那件洗得發黃的白大褂,領口和袖口卻熨燙得筆直。
他沒有說半句廢話,只是在走廊盡頭一扇厚重的鐵門前停下。
「手機械的,要去車間看車床。」
「學化工的,要去實驗室看燒瓶。」
「你們,學計算機的,今天就看你們的『車床』和『燒瓶』。」
他從口袋裡掏出一大串黃銅鑰匙,叮噹作響,選中最長的那一把,插進鎖孔,用力轉動。
【咔噠】
一聲沉悶的巨響。
鐵門向內推開。
一股奇異的氣流撲面而來。
那不是風,而是一種混合著臭氧的微腥,溫熱金屬的焦糊,還有無數風扇攪動空氣的獨特氣息。
緊接著,是聲音。
一種低沉的,持續不斷的嗡鳴,像是有一整座蜂巢被關在了房間裡,無數工蜂正鼓動著翅膀。
張漢玉的呼吸停滯了一瞬。
他站在門口,越過王教授的肩膀,看到了那個占據了整個房間的龐然大物。
那不是一台機器。
那是一組由無數鐵灰色機櫃組成的陣列。
機柜上布滿了密密麻麻的指示燈,紅的,綠的,黃的,像怪獸身上無數隻永不眨動的眼睛,正以一種人類無法理解的頻率閃爍著。
無數顏色各異的電纜,從機櫃背後延伸出來,像巨獸的血管與神經,盤根錯節,最終匯入天花板和地板下的線槽里。
這就是計算機。
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前,伸出手,輕輕地,撫摸著機柜上冰冷的金屬外殼。
他能感覺到,金屬下面,有電流在奔騰,有邏輯在流淌。
一個全新的世界,正透過他的指尖,向他敞開大門。