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