請記住本站域名:
黃金屋
新時代導(dǎo)師 第246節(jié) 子程序的設(shè)想
面對道謝,艾倫·麥席森毫不在意的,朝外揮了揮手背,然后將話題引到了更感興趣的方向:
“上次從銀河實驗室弄來的圖紙,我們已經(jīng)組裝了大半,蘭恩你要不要去看看?”
“當(dāng)然!”
蘭恩很高興的答應(yīng),對于自己成果在別處的應(yīng)用情況,他向來比較好奇。
在計算機(jī)應(yīng)用上,嘗到過甜頭的邱奇實驗室成員們,在更新設(shè)備方面很是積極。
由于之前采購的伊扎德系列計算機(jī),對邱奇實驗室研究任務(wù)的巨大促進(jìn),所以包括邱奇教授在內(nèi),都很樂于見到更先進(jìn)符文計算機(jī)的進(jìn)駐。
尤其是,以數(shù)學(xué)為主要研究方向的邱奇實驗室,平時并沒有多少更新設(shè)備的需求,也沒有太多花銷,因此實驗室的資金極為充沛。
對于計算機(jī)圖紙和建造授權(quán)的高昂售價,他們沒怎么在意。所以他們痛快的批準(zhǔn)了采購預(yù)案,爽快的拿下了圖紙和授權(quán)。
然后,邱奇實驗室在學(xué)校里,借調(diào)了幾位會使用印刷符文設(shè)備的研究員,就在實驗大廳一側(cè),單獨騰出的另一間房子里,開始了埃德瓦克圖紙的組裝工作。
這間新的計算室,就在放置伊扎德二號計算機(jī)的房間隔壁。
“啊,原來是班納瑞先生,歡迎……康拉德怎么沒來?”
福蘭特見到艾倫帶著蘭恩走過來,熱情的上來問候,然后他往蘭恩身后探頭探腦的看了一下,沒有發(fā)現(xiàn)康拉德,于是向蘭恩問道。
福蘭特和康拉德,有過許多交流。尤其是和計算機(jī)下棋這一點上,二人有巨大的共同語言,因此交情頗深。
蘭恩笑道:
“康拉德沒有來,他在實驗室忙著改進(jìn)埃德瓦克呢。”
聽到這個消息,福蘭特臉上閃過一絲失望,接著迅速消失不見。福蘭特快樂的對蘭恩說道:“班納瑞先生,你是來看新計算機(jī)的進(jìn)度的吧?跟我來——它看起來可真棒!”
這臺計算機(jī),已經(jīng)組裝近半。
幾位學(xué)徒正在里里外外的忙碌,旁邊的一臺實驗室版印刷符文設(shè)備,正在低聲嗡嗡的運行。
每一塊符文基板,蘭恩都眼熟非常,除了外部框架似乎被做了些許改進(jìn)之外,和銀河實驗室里埃德瓦克改進(jìn)前的樣子,沒有什么區(qū)別。
“你們給它取了什么名字?”
蘭恩問一旁的艾倫。
“書架,這是它的綽號,本來有人提議叫‘旋風(fēng)’、‘巨像’、‘列車頭’這些,最終我們還是選了這個。因為它現(xiàn)在沒裝好的外形,太像一個大型書架了……”
“魔力爐我們也準(zhǔn)備好了,特意和銀河實驗室買的同一型號,巨松二型魔力爐”,艾倫拍拍旁邊,介紹道,然后他對一旁的福蘭特說道:
“福蘭特,等你把最近的任務(wù)完成后,等他們兩個出了師,你要不要去銀河實驗室進(jìn)修下?”
“啊?可以么?當(dāng)然!當(dāng)然!”
福蘭特忙不迭的說道。
艾倫對蘭恩笑道:“看吧,他很樂意的。”
重新回到沙發(fā)上,艾倫略帶鄭重的對蘭恩說道:
“蘭恩,我之前收到一封信,這里面的內(nèi)容,我認(rèn)為有必要和你說一下。”
“?請講。”
看到艾倫的神情,蘭恩瞬間鎮(zhèn)定下來,專注的準(zhǔn)備聽艾倫接下來的話。
“由于研究領(lǐng)域接近的原因,我和倫丁尼市里,聯(lián)動凸輪大學(xué)的威爾克斯奧術(shù)師比較熟悉,經(jīng)常有書信往來,不知道你是否聽過這個名字。”
蘭恩插話道:“嗯……好像有點印象,他們是最早一批,過來購買埃德瓦克圖紙的人。噢對了,他們的想法是將他們手上的中繼符文計算機(jī),直接更換為埃德瓦克,所以他們之前還購買過銀河實驗室的伊扎德一號。”
“嗯,就是他們。”
艾倫點頭說道:“威爾克斯他們按照埃德瓦克的圖紙,組裝好了一臺計算機(jī),然后迫不及待的在上面開展自己的研究,不過他告訴我,他們起初遇到了問題。”
“由于這是存儲程序計算機(jī),所以它的性能極為強(qiáng)大,但是這也造成了一個后果:如果需要完成的任務(wù)非常復(fù)雜時,就需要拼了老命編寫能夠在它上面運行的程序。”
“很不巧,威爾克斯他們需要計算的,就是這樣的程序。于是,即使有微指令,不用直接操作機(jī)器碼,編寫這種程序仍然是一場噩夢。”
“用威爾克斯的原話,就是:‘那時候,我正試著讓自己編寫的第一個真正意義上的程序運轉(zhuǎn)起來。有一天,我像往常一樣從機(jī)房出來,準(zhǔn)備去操作打孔機(jī),突然站在樓梯轉(zhuǎn)角處猶豫了,心里意識到,單是給自己的程序除錯,可能就要花掉我大半輩子的時間。’”
艾倫學(xué)著蘭恩未謀面過的威爾克斯,用他的說話口氣描述道。
“于是,威爾克斯和他的同伴戴維·惠勒,一道開始著手解決這個問題,他們想到了一個美妙的方法——編寫子程序。”
“子程序?”
“是的,蘭恩,他們意識到,許多程序在運行的過程中,都需要重復(fù)執(zhí)行某個操作——比如在某個復(fù)雜的數(shù)字運算中,需要多次進(jìn)行開平方操作。”
“如果每次開平方都得把平方根代碼寫上,那么程序當(dāng)中就會出現(xiàn)許多重復(fù)代碼,占用不必要的空間,使程序變得龐大而低效。”
“為了簡化編程過程,威爾克斯的方法是建立子程序庫,也就是將常見的函數(shù)單獨列出,集中起來,就像把常見的詞語及其釋義收錄在詞典中一樣。”
“為此他們建立了一套公共的紙帶系統(tǒng),一旦程序在運行的過程中需要使用到某個常見函數(shù),計算機(jī)就會在子程序庫中‘查找定義’,執(zhí)行相應(yīng)的子程序代碼,根據(jù)輸入值進(jìn)行運算,再將運算結(jié)果返回。”
“他認(rèn)為,這種方式很好,將子程序看做對基本指令集的擴(kuò)展,后續(xù)的計算機(jī)中,就沒有必要在為此再嵌入新的指令集,譬如一個特殊的開平方函數(shù)。”
“我們商討了這套方案,感覺很合適目前的情況,所以我才告訴你這些。”
快捷鍵: 上一章("←"或者"P") 下一章("→"或者"N") 回車鍵:返回書頁