第六十六章 計算機科普論道
老實而又靦腆的孟響同學(xué)并沒有因為他心里后悔就停下打擊的步伐……哦不,回答他問題的步伐。
“大概從上周6開始看的。”孟響小心翼翼的回答道,臉上那有些不安的表情讓張晨受到了不小的傷害。
他的大腦立即就當(dāng)了會兒機,私底下靠著扳手指輔助計算了一下上周六到這周二之間的時間差。
很好很不錯。
這小子全力學(xué)習(xí)個四五天差不多就能把這本書掌握了?
如果他說的是真的,那……
張晨感到有些挫敗。
當(dāng)年,剛剛上大學(xué)那會兒。他每天下了課就往圖書館跑,而且那會兒每天的課比高中時要少,他學(xué)習(xí)的時間要多不少。即便是這樣,他用了小半個月的時間才把這本書吃透。結(jié)果一周時間他才認(rèn)全舍友名字。要知道,那會兒他才大一,每天活得跟個考研狗一樣,沒少被人當(dāng)成考研黨對待。
“那挺好的?!彼S口回了一句,開始努力發(fā)散思維,決定采取第二種方案。
這是他們宿舍商量好的。當(dāng)時定下的使用場景是:如果孟響根本不在乎成績好壞,或者成績很好,一定要學(xué)這些“黑客知識”,且不論他目的是為了以后能賺錢還是因為興趣愛好。張晨就要開始展示這個知識的難度,讓其知道,非天才不能入門,及時勸退。
因為謝洋也為占孟響便宜這事有些后悔,索性大伙就幫他擺脫出這個漩渦。
只要孟響不學(xué),謝洋自然順利成章的不再占孟響便宜。而以后,兩人還是有機會可以成為普通朋友。
孟響聽到張晨的夸獎,靦腆地笑了笑。
“對了,我剛剛看你在看C語言??戳硕嗑昧耍趺礃?,很有興趣嗎?”張晨利用短短幾秒鐘,就理順了思路,同時組織好了語言。
一聽到這個,孟響來了興致,他猛地點了點頭說道:“是的,我今天下午才開始看,之前那本很多問題讓我太費解了。年級里有個參加信息競賽的朋友推薦我先學(xué)一個編程語言,我就先試試了,然后……”
“這個確實特別吸引人,里面許多地方和我以前知道的都不一樣,剛剛看我就覺得大開眼界。”孟響說到這里,面色有些潮紅,就像是對心愛的事物或者人表白了一樣。
張晨聽見了信息學(xué)競賽這幾個字,整個人都顫抖了一下。他見孟響這副模樣,整個人都愣住了。多么熟悉,多么似曾相識的表情。曾經(jīng)的他也是這樣,只是缺少了一個懂的人而已,那會兒,只有計算機懂他。
那時,還沒有安卓智能機,還處在諾基亞稱霸全世界之時。因為國內(nèi)信息學(xué)起步就比較晚,對學(xué)校設(shè)備有一定要求,一些師資力量稍弱的學(xué)校只有數(shù)理化生競賽,對這個競賽完全沒有概念。并且,也正是他初二那一年,雷電法王修為大成,橫空出世,鎮(zhèn)壓天地,力壓全國中學(xué)生,成就法王帝身,宣揚《法王經(jīng)》。一些思想觀念落后的家庭在熟讀《法王經(jīng)》后絲毫不懷疑,計算機==游戲==網(wǎng)癮。很不幸,無論是學(xué)校還是家庭,他都占全了。
兩者合一,他最終沒有走通他想走的路,最終高二下半學(xué)期開始回歸正常高考學(xué)習(xí)。最后成績并不是特別理想,只能進(jìn)入一所“雙非”的一本。
“或許,在他有機會的情況下,我們不應(yīng)該做過多的干預(yù),只要支持就好了?!睆埑啃睦锬氲?,他決定先放下第二種方案和孟響好好聊聊天。
“你看到哪兒了,我們聊聊?”張晨似乎覺得整個人輕松了不少,又恢復(fù)了云淡風(fēng)輕的高手氣質(zhì)。
“剛剛看完指針?!泵享戨p眼發(fā)亮,高手要開始和他論道了。
“怎么樣,感覺有哪些疑惑?”
“有很多,其中一個就是,為什么在數(shù)值運算過程中,會發(fā)生精度丟失呢?”孟響迫不及待地問道。
“這個問題,我可以回答你,但是你現(xiàn)在并不需要我來回答。我認(rèn)為,等你把這本書學(xué)完之后,你就能懂?!睆埑空f道,接著起身拿起孟響放在一旁的書和筆,拿起筆在書上寫道:“世界上有10種人,一種是懂二進(jìn)制的,一種是不懂二進(jìn)制的?!?p> “等你看完這本書,再來看這句話。然后,你離答案就不遠(yuǎn)了。”
孟響看得一愣一愣的,接過書,這句話讓他一時沒想明白。明明是10種人,剩下八種去哪了,被吃了么,還是被夢夢用刀給戳死了?她可是連自己這個好哥哥都想……
他搖了搖頭,把這個不好的想法甩開,接著提問:“為什么數(shù)組的下標(biāo)是從零開始,這種設(shè)計這么反人類,為什么不是1呢,C中為什么要用[]來表示數(shù)組下標(biāo)?”
張晨嘴角抽了抽,他當(dāng)年也覺得這種寫法挺反人類的。
“其一,在幾十年前,因為計算機資源的匱乏,所以這種寫法可以節(jié)省編譯時間。在現(xiàn)代,為了更優(yōu)雅好看。至于用[],因為以前按一個[就會出現(xiàn)[],為了方便……”
聽到這個解釋,輪到孟響嘴角抽了,他想拿刀問問里奇是不是這么懶。
“所有支持指針的語言里,從0開始更符合邏輯,因為下標(biāo)被視為偏移量?!睆埑拷忉尩?。
孟響雖然嘴角在抽動,但是像個好學(xué)生一樣,飛快地記著筆記。
張晨看到這一幕,嘴角有些笑意,初學(xué)者啊。
寫完之后,孟響再次問道:“第一個編譯器是哪來的呢?”這是他一直沒弄清楚的問題,因為書上說C語言編譯器是一個叫GCC的家伙,然后又說這個GCC的家伙是用C語言寫的,然后他就方了。到底是先有雞,還是先有蛋。
張晨一聽,果然是初學(xué)者的思維,不過孟響確實挺愛思考,這是很不錯的品質(zhì)。他微微思索了一會兒說道:“其實,他是自己編譯自己的,因為,有了規(guī)則才有本身。”
孟響愣住了。
“還要這么解釋,C語言只是第三代語言,第一代語言是機器語言,第二代則是匯編語言,世界上第一個編譯器是人。人翻譯自然語言成為了第一代機器語言,通過紙帶打孔的方式。而機器語言則寫成了匯編器,隨后有了第二代語言——匯編語言。緊接著,第三代語言編譯器最初是由匯編語言寫成的。當(dāng)?shù)谌Z言有了編譯器,那就有了語言,然后再通過語言本身編寫編譯器就好了?!睆埑挎告傅纴?。