·當(dāng)你被各種新奇的概念、瑰麗的界面和無休止的名詞弄的筋疲力盡的時候,閉上眼睛,想象一下內(nèi)存中機械的、冰冷的一條條高高低低的電位指令,想想地址、寄存器、call、mov、in、out指令,你會發(fā)現(xiàn):所有概念都是人自己創(chuàng)造的,真實的世界原來是那么的單純明了。
·高級語言如:c、c++、java,都是假的。高級的概念如:段、對象、組件都是假的。他們最終都要變成內(nèi)存中一個個機器指令(電信號)。
·閉上眼睛,想象下操作系統(tǒng)、dll模塊、編譯器、鏈接器、載入器、各個api函數(shù)、在內(nèi)存中都是一塊一塊的指令集合。你編的程序進行編譯、鏈接、裝載、系統(tǒng)調(diào)用時,其實就是在這些指令塊里面call來ret去,就是跟這些地址打交道。看看c函數(shù)編譯出來的匯編吧,就是push,然后call。
·當(dāng)你試圖弄清一個層面的問題時,往往需要借助更深層面的知識。比如c語言的函數(shù)其實就是匯編里的幾個push和call。
·程序的本質(zhì)在“序”。幾個簡單的有限的東西通過不同的排列(序),可以構(gòu)成復(fù)雜而強大的東西。比如26個字母構(gòu)成英語、簡單的機器指令構(gòu)成繽紛的軟件。(這種思想是樸實而自然的,比如簡單的磚頭和泥灰可以蓋成各式各異的建筑,簡單的原子構(gòu)成復(fù)雜的世界。古代有“道生一,一生二,二生三,三生萬物”的說法,可見,圖靈的通用計算機思想也沒有什么新奇之處。)
·計算機學(xué)科的基石。
思想方面:
1. 協(xié)議。就是大家都遵從的一種約定,這樣才能把力量用在一處。數(shù)據(jù)結(jié)構(gòu)也是協(xié)議。
2. 模塊化。把能復(fù)用的東西,抽出來,避免重復(fù)勞動。子程序(過程,函數(shù)),就是最好的例子。
·人應(yīng)該做有創(chuàng)造性的工作,單調(diào)重復(fù)乏味的事情讓計算機去做