1. 程式人生 > >Python----基礎語法之語言進化論←

Python----基礎語法之語言進化論←

程式語言進化


 程式語言的進化以我個人理解可分為這三種語言(機器語言、組合語言、高階語言),它就猶如人類進化過程一樣,充滿無限可能性。

機器語言:

機器智慧接受二進位制程式碼,因此,用二進位制0和1的描述指令稱為機器指令,全部的機器指令集合構成計算機的機器語言

機器語言屬於低階語言

除了計算機生產廠家的專業人員外,絕大多數的程式設計師已經不再去學習機器語言了

機器語言是微處理器理解和使用的,用於控制它的操作二進位制程式碼

儘管機器語言好像是很複雜的,然而它是有規律的

存在著多至100000種機器語言的指令。這意味著不能把這些種類全部列出來

組合語言:

組合語言的實質和機器語言是相同的,都是直接對硬體操作,只不過指令採用了英文縮寫的識別符號,更容易識別和記憶

早期的程式設計均使用機器語言。程式設計師們將用0, 1數字編成的程式程式碼打在紙帶或卡片上,1打孔,0不打孔,再將程式通過紙帶機或卡片機輸入計算機,進行運算。這樣的機器語言由純粹的0和1構成,十分複雜,不方便閱讀和修改,也容易產生錯誤。程式設計師們很快就發現了使用機器語言帶來的麻煩,它們難於辨別和記憶,給整個產業的發展帶來了障礙,於是組合語言產生了。

高階語言:

計算機語言具有高階語言和低階語言之分,高階語言主要是相對於組合語言而言,並不是特指某種具體的語言,而是包括了很多的組合語言,如:C.C++,JAVA,Python等都屬於高階語言

高階語言所編的程式不能直接被計算機識別,必須經過轉換才能被執行,轉換分為編譯類和解釋類

  編譯類:程式在執行之前需要一個專門的編譯過程,把程式編譯成 為機器語言的檔案,執行時不需要重新翻譯,

                     直接使用編譯的結果就行 了。程式執行效率高,依賴編譯器,跨平臺性差些。如C、C++、Delphi等

  1.把原始碼編譯成機器語言的可執行程式
  2.執行科執行程式檔案

  優點:1.程式執行時,不再需要原始碼,不依賴語言環境,因為執行的是機器碼檔案

     2.執行速度快,因為你的程式程式碼已經翻譯成了機器可以直接

  缺點:1.每次修改了原始碼,需要重新變異,生成機器碼檔案

     2.跨平臺性不好,不同作業系統,呼叫地城的機器指令不同,需為不同平臺生成不同的機器碼檔案

  解釋類:程式不需要編譯,程式在執行時才翻譯成機器語言,每執 行一次都要翻譯一次。因此效率比較低。比如Basic語言,專門有一個直譯器能夠直接執行Basic程 序,每個語句都是執行的時候才翻譯。(在執行程式的時候才翻譯,專門有一個直譯器去進行翻譯,每個語句都是執行的時候才翻譯。效率比較低,依賴直譯器,跨 平臺性好.)

  1.使用者呼叫直譯器,執行原始碼檔案
  2.直譯器把原始碼檔案邊解釋成機器指令,邊交給CPU執行

  優點:1.天生跨平臺,因為直譯器已經做好了對不同平臺的互動處理,使用者寫的原始碼不需要再考慮平臺差異性,可謂,一份原始碼,所有平臺都可直接執行

     2.隨時修改,立刻見效,改完原始碼後,直接執行看效果

  缺點:1.執行效率低,所有的程式碼均需經過直譯器邊解釋邊執行,速度比編譯型慢很多

     2.程式碼是明文

總結很重要:

機器語言:優點是最底層,速度最快,缺點是最複雜,開發效率低

組合語言:優點是比較底層,速度最快,缺點是複雜,開發效率最低

高階語言:編譯型語言執行速度快,不依賴語言環境執行,跨平臺差,解釋型跨平臺好,一份程式碼,到處都可以用,缺點是執行速度慢,依賴直譯器執行

受益之處:

程式設計語言從機器語言到高階語言的抽象,帶來的主要好處是:
  1. 高階語言接近演算法語言,易學、易掌握,一般工程技術人員只要幾周時間的培訓就可以勝任程式設計師的工作;
  2. 高階語言為程式設計師提供了結構化程式設計的環境和工具,使得設計出來的程式可讀性好,可維護性強,可靠性高;
  3. 高階語言遠離機器語言,與具體的計算機硬體關係不大,因而所寫出來的程式可移植性好,重用率高;
  4. 由於把繁雜瑣碎的事務交給了編譯程式去做,所以自動化程度高,開發週期短,且程式設計師得到解脫,可以集中時間和精力去從事對於他們來說更為重要的創造性勞動,以提高程式的質量。

※雖然各種語言屬於不同的型別,但它們各自都不同程度地對其他型別的運算模式有所支援。