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