第190章 留下
- 魔法導(dǎo)論
- 兩元五角
- 2937字
- 2020-03-11 22:33:25
“原來(lái)北魔工并沒(méi)有計(jì)算機(jī)學(xué)院?”
辦公室里,坐在沙發(fā)上,捧著茶杯的瑪麗恍然大悟。
坐在斜對(duì)面的李力有些尷尬地?fù)狭藫项^,“原本是沒(méi)有的,因?yàn)橛?jì)算機(jī)的發(fā)展和研究一直以來(lái)都是幾個(gè)實(shí)驗(yàn)室用有限的人在去做,這個(gè)學(xué)科還不太成熟,所以歸到了機(jī)械學(xué)一級(jí)學(xué)科下面。”
頓了頓李力又說(shuō)道,“不過(guò)隨著計(jì)算機(jī)學(xué)科的復(fù)雜性與日俱增,我們現(xiàn)在也在考慮創(chuàng)辦計(jì)算機(jī)學(xué)院,只是這個(gè)想法還停留在構(gòu)思上。”
“那您不應(yīng)該對(duì)我欺騙呀”,瑪麗無(wú)奈地說(shuō),雖說(shuō)是指責(zé)的語(yǔ)氣,不過(guò)瑪麗卻并沒(méi)有露出多少指責(zé)的表情,“我是學(xué)習(xí)計(jì)算機(jī)技術(shù)才來(lái)到遙遠(yuǎn)的東方國(guó)度,如果您這里沒(méi)有計(jì)算機(jī),那么我就一走了之。”
李力表情抽搐,腦海中努力轉(zhuǎn)義瑪麗說(shuō)出來(lái)的別扭的帝國(guó)語(yǔ),看著她將茶杯輕放在茶幾上,準(zhǔn)備站起離開(kāi),他連忙上前勸解道:“稍安勿躁稍安勿躁,有句老話說(shuō)得好:既來(lái)之,則安之,你說(shuō)來(lái)都來(lái)了是吧,哪有空著手走的道理,況且我們沒(méi)有計(jì)算機(jī)學(xué)院,但是其他地方也沒(méi)有啊!”
坐在旁邊的樾樾滿臉不忍地看著李力,他這是留人呢還是趕人呢?
得虧瑪麗的帝國(guó)語(yǔ)也不怎么樣,在歪著頭思考清楚李力的話后,她問(wèn)道:“那么我該去哪里學(xué)習(xí)呢?”
“咳”,李力輕咳一聲,“剛才我已經(jīng)說(shuō)了,計(jì)算機(jī)科學(xué)現(xiàn)在還處于原始的階段,這個(gè)學(xué)科目前歸類到魔導(dǎo)機(jī)械一級(jí)學(xué)科下面,原因就在于大部分時(shí)候,我們只關(guān)心處理器以及各部件,說(shuō)白了就是硬件,而將軟件作為硬件的驅(qū)動(dòng)。”
瑪麗努力地消化著李力所說(shuō)的話,在明白李力所說(shuō)的意思后,她眼睛驀然亮了起來(lái),“您說(shuō)得正確!”
“而且我看了你的那篇論文”,李力回過(guò)頭來(lái)向樾樾,樾樾從隨身空間里掏出瑪麗郵寄來(lái)的論文遞了過(guò)去。
瑪麗表情驚訝地接過(guò)自己的論文,奇怪地問(wèn)道,“為什么我的論文出現(xiàn)在您這里?”
“大概是因?yàn)橹挥形夷芸吹枚愕恼撐陌伞!崩盍β柫寺柤纾按蜷_(kāi)看看。”
瑪麗低下頭,翻開(kāi)自己的論文,結(jié)果剛翻開(kāi)第一頁(yè)她就呆住了。
論文的空白處用紅色和黑色的筆跡寫滿了各種各樣細(xì)致的批語(yǔ)和意見(jiàn)——用正常的字體。
論文的內(nèi)容她早已爛熟于心,因?yàn)檫@是她反復(fù)推敲過(guò)的內(nèi)容,幾乎已經(jīng)細(xì)致入極,完善如終,但是在瀏覽了李力所寫的批語(yǔ),理解了李力對(duì)所謂編程語(yǔ)言與面向?qū)ο蟾拍钜院螅碌母形蛴可闲念^,這讓她驚呼出聲。
“怎么樣?能不能幫到你?”看到瑪麗似乎已經(jīng)沉浸其中,李力露出引誘小蘿莉一般的微笑,循循善誘地說(shuō)道:“留下吧,在我們實(shí)驗(yàn)室你可以接觸到比這些更先進(jìn)和抽象的東西,你甚至可以開(kāi)創(chuàng)一個(gè)新的學(xué)科,將計(jì)算機(jī)科學(xué)發(fā)揚(yáng)光大,成為計(jì)算機(jī)程序設(shè)計(jì)的奠基人!怎么樣?跟我簽訂契約,成為馬猴燒酒吧。。。”
“這是您寫的?”瑪麗的眼睛瞪得滾圓,不可思議地表情略顯可愛(ài),抬起頭來(lái)看向李力。
“是啊”,李立點(diǎn)點(diǎn)頭,“我剛才不是說(shuō)了,能看懂你的論文估計(jì)也只有我一個(gè)人了,所以學(xué)校就把論文轉(zhuǎn)給我了啊。”
聽(tīng)了這話,瑪麗“噔”地從椅子上彈了起來(lái),直接對(duì)著李力彎腰九十度,大喝一聲:“師父!!!!”
“噗——”
一口水還沒(méi)喝下去的樾樾,就聽(tīng)見(jiàn)這一聲突如其來(lái)的“師父”,直接噴了出去,好巧不巧地噴在了震驚地張大嘴的李力臉上。
滿臉?biāo)ǖ睦盍ι驳剞D(zhuǎn)過(guò)脖子,瞪著樾樾。
“咳咳。。。對(duì)不起對(duì)不起。。。你們繼續(xù)。。。”樾樾不好意思對(duì)著李力說(shuō)道,招了招手瞬間蒸發(fā)掉李力臉上和身上的水珠,然后努力縮在沙發(fā)里,假裝自己是個(gè)抱枕。
勉強(qiáng)從震驚中回復(fù)過(guò)來(lái)的李力轉(zhuǎn)回頭去,對(duì)著瑪麗委婉地說(shuō):“八戒呀,我們這里是研究機(jī)構(gòu),不興舊社會(huì)那一套,不搞拜師的。”
瑪麗微微抬起頭來(lái),疑惑地看向李力,“那么。。。教練?”
“你想打籃球嗎?”李力瞪了她一眼,“叫教授!”
“哦哦,教授”,瑪麗反應(yīng)過(guò)來(lái),又重新鞠了一躬,“我想學(xué)習(xí)計(jì)算機(jī)科學(xué)跟您!”
李力身心疲憊地抹了把臉,才反應(yīng)過(guò)來(lái)水珠已經(jīng)蒸發(fā)了,將瑪麗扶起來(lái)以后說(shuō)道:“來(lái)了實(shí)驗(yàn)室的話我們就是同事關(guān)系,當(dāng)然如果遇到問(wèn)題,我們可以探討,共同進(jìn)步,計(jì)算機(jī)的知識(shí)浩如煙海,它可以應(yīng)用到人類的方方面面,從抽象到具體,從研究到應(yīng)用,即便是我也僅僅有一些算不上多的靈感而已。”
“嗯嗯!”瑪麗努力地點(diǎn)點(diǎn)頭。
“就比如說(shuō)你對(duì)語(yǔ)言的抽象化是怎么想的?”李力伸手將論文翻到了第二章節(jié),指了指上面的文字。
“通過(guò)設(shè)計(jì)好的指令,將機(jī)器的執(zhí)行細(xì)節(jié)掩埋,這樣的話編輯者在編輯時(shí)就可以不用記憶和拆解每一個(gè)步驟將其指令,就可以開(kāi)發(fā)快速。”突然談到正題讓瑪麗一下子興奮了起來(lái),“很多步驟都可以包裹成一個(gè)命令,開(kāi)發(fā)好的程序可以將命令轉(zhuǎn)化為機(jī)器執(zhí)行碼。”
“但是你所說(shuō)的其實(shí)已經(jīng)將兩個(gè)東西混雜在了一起”,李力指出,“語(yǔ)言和庫(kù)。
“語(yǔ)言是用來(lái)進(jìn)行邏輯編輯的,它通常基于某種抽象邏輯,比如數(shù)學(xué),比如符文學(xué),當(dāng)然為了能讓處理器執(zhí)行,計(jì)算機(jī)語(yǔ)言已經(jīng)將數(shù)學(xué)語(yǔ)言或者符文學(xué)語(yǔ)言復(fù)雜化了。而另一種東西則是庫(kù),也就是通過(guò)語(yǔ)言編寫和封裝的,可以被別人使用的成熟代碼段,兩者的關(guān)系就好像帝國(guó)語(yǔ)和詩(shī)詞的關(guān)系,當(dāng)你感慨‘念天地之悠悠,獨(dú)愴然而涕下’的時(shí)候,就是在調(diào)用登幽州臺(tái)歌的代碼段。”
旁邊的樾樾眼前一亮,剛想說(shuō)話,卻猛地捂住自己的嘴。
帝國(guó)語(yǔ)貧窮如瑪麗,并沒(méi)有感受到詩(shī)詞中的韻味,但前面的邏輯她懂了大概,“語(yǔ)言只有我們定義,庫(kù)不僅僅我們定義,也你們定義,也他們定義,和調(diào)用。”
“是的”,強(qiáng)忍著瑪麗用錯(cuò)誤語(yǔ)法編寫的帝國(guó)語(yǔ),李力點(diǎn)點(diǎn)頭,“當(dāng)然為了保證語(yǔ)言使用的簡(jiǎn)潔,編程環(huán)境一般都會(huì)自帶官方庫(kù),我們會(huì)寫一些通用的庫(kù)內(nèi)置進(jìn)去方便調(diào)用,尤其是涉及外部硬件控制的指令,都會(huì)進(jìn)行封裝。”
“可是,怎么樣能保證使用者按照庫(kù)的編寫者要求調(diào)用呢?”瑪麗又問(wèn)道,“我們提供庫(kù),要使用者調(diào)用正確能使用,但是不正確不能,這樣怎么辦?”
“哦?有一些沒(méi)法封裝的步驟,但需要使用者按正確方式調(diào)用么?”李力抬了抬眉毛,“舉個(gè)例子。”
“材料加工程序,開(kāi)始前必須檢查材料的形狀和純度,一些半永久轉(zhuǎn)換或者對(duì)稱轉(zhuǎn)換需要結(jié)束的時(shí)候轉(zhuǎn)換回來(lái)。”
聽(tīng)了這個(gè)問(wèn)題,李力摸了摸自己的下巴,“按照開(kāi)放程度高的語(yǔ)言設(shè)計(jì),這種需要前置或者后置的東西通常只是留出語(yǔ)法讓使用者自己調(diào)用,當(dāng)然如果對(duì)方?jīng)]有調(diào)用就會(huì)出現(xiàn)系統(tǒng)級(jí)別的故障,比如內(nèi)存泄露,比如錕斤拷燙燙燙什么的。。。”
“如果限制呢?”瑪麗迫不及待地問(wèn)道。
“這樣的話,就需要運(yùn)行環(huán)境,而且如果你真的要限制使用者使用方式,那么你所寫的就不是庫(kù)了。”
“那是什么?”
“框架”,李力說(shuō)道:“與庫(kù)不同的一點(diǎn)在于框架是控制反轉(zhuǎn),雖然這個(gè)詞聽(tīng)起來(lái)挺高大上,不過(guò)意思就是原本是由使用者調(diào)用庫(kù)來(lái)完成某些工作,但現(xiàn)在是框架調(diào)用使用者所寫的一些東西來(lái)完成某些工作,既然如此,使用者就必須按照框架的使用規(guī)則來(lái)寫這些東西。
“比方說(shuō)如果你需要使用者在執(zhí)行對(duì)稱轉(zhuǎn)換程序時(shí)必須初始化和銷毀,那么你就必須留出初始化和銷毀的接口,讓使用者完善它,這樣程序就可以在執(zhí)行主體程序之前調(diào)用初始化內(nèi)容,并在結(jié)束之前調(diào)用銷毀。”
聽(tīng)了李力的話,瑪麗興奮地叫了起來(lái),“就是它就是它!我在寫轉(zhuǎn)換程序時(shí)思考過(guò)這個(gè)問(wèn)題,但是在編寫c語(yǔ)言的時(shí)候總是無(wú)法將這個(gè)想法融入里面,原來(lái)是我搞錯(cuò)了!”
“c語(yǔ)言。。。”李力滿臉糾結(jié)地看著瑪麗,心想著要不要建議她換個(gè)名字,既然想做框架限制的語(yǔ)言類型,不如建議改叫Java?
“當(dāng)然了,這只是軟件級(jí)別上的框架,如果你想要做到硬件層面上的框架,要求使用者按照你指定的規(guī)則,在你的控制下進(jìn)行運(yùn)行,那就是另外一種東西了。”
“什么東西?”
“操作系統(tǒng)。”