回覆列表
  • 1 # 李豐國創業筆記

    說到計算機的語言體系就不得不從計算機的硬體底層說起,所有程式語言的本質其實都在是操作硬體。以下這些的層次關係。

    計算語言的本質就是在操作計算機硬體,重要的事情說三遍哦。

    一、計算機有兩個很重要的概念,運算器和儲存器。沒錯,運算器就是中央處理器(CPU),儲存器就包括記憶體和硬碟,但記憶體只不過是快取,預先讀取和預先寫入的操作,緩解硬碟的壓力。至於其他計算機硬體,如主機板、包括主機板上的南橋北橋晶片,顯示卡,音訊卡,USB處理器等等可以全部忽略。

    二、硬碟的儲存結構屬於物理儲存,也就是隻能儲存正負點電兩種狀態。這就決定了計算機的原始程式語言就是0和1。最早的程式設計員叫Ada,是位女性,她最早編寫的語言就是在紙帶上打孔,101010001101011,差不多這個意思,

    三、這種0和1組成的程式我們叫機器程式碼,為了愉快程式設計,很快又有大神發明了組合語言。其實就是發明了組合語言的編譯器(翻譯器)把組合語言轉換成了機器程式碼。

    四、最重要的語言出場了,C語言,目前C語言是最重要的語言,大家看出來了,它處在計算語言的中間、承上啟下。瀏覽器是C語言編寫的,瀏覽器中的javascript+html+css就是執行在瀏覽器的核心引擎中的,它被動態解釋並執行;作業系統windows和mac也是C語言編寫的,安卓基於java,java執行在虛擬機器上,java虛擬機器就是C語言編寫的。蘋果ios直接就是object-c(C語言的一個變種)編寫的;就連PHP語言的編譯器也是C語言編寫的,PHP語言被編譯成C語言,再被編譯成彙編程式碼,再被編譯成機器程式碼。

    以上就是計算機語言的生態關係,但計算機語言自身的編譯器實現原理是什麼呢?就兩個概念,語法樹和自動機,是的,《編譯原理》就是由語法樹和它的自動機演算法構成的,一個是它的資料結構,一個是它的運算過程(演算法)。祝大家程式設計愉快。

  • 中秋節和大豐收的關聯?
  • 為什麼有人說教師“青黃不接”?