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