1.4計算機語言

水木·圳烜發表於2018-02-27

@計算機語言發展

  • 機器語言,由0和1構成,是唯一能夠直接被機器識別的語言,其底層是電路的斷開與閉合,易讀性差,開發效率低;
  • 組合語言,指令化的機器語言,用於底層開發,可讀性和開發效率較機器語言有所提升,但依然晦澀難懂;
  • 高階語言,接近人類語言邏輯的開發語言,可讀性和開發效率大幅提升,其發展歷程又經歷了程式導向和麵向物件兩個發展階段,現如今的大部分高階語言都是物件導向的;

@常見的高階語言

  • Basic:更語義化的指令,適合初學者開發簡單桌面程式;
  • VB:微軟開發,可以快速開發Windows程式;
  • C:貝爾實驗室開發,兼具彙編的強大與高階語言的易用,直接與底層硬體打交道,執行效率在所有高階語言中最高,廣泛用於底層開發,及對效率要求較高的底層演算法實現;
  • C++:物件導向版的C語言;
  • Java:簡單低效版C++,跨平臺,Web霸主,適合大團隊協作;
  • PHP,開發中小型Web應用較Java更高效;
  • HTML5+JavaScript,Web前端開發語言,由於執行在瀏覽器核心上,具有跨平臺的特性,也廣泛用於展示層的移動應用程式開發;
  • Python:簡潔通用的指令碼型語言,語法簡潔優美,易於上手,得到越來越多的追捧,C和Java都對其提供大量的類庫支援,因此有“膠水語言“的美稱,應用領域廣泛,如Web、爬蟲、資料探勘、機器學習等;

@源程式、直譯器、編譯器:

  • 源程式:高階語言書寫的程式;
  • 編譯器:讀取一個原始碼檔案,翻譯為一個可執行的機器碼檔案,等候使用者來執行;
  • 直譯器:讀取一行原始碼,翻譯為若干條機器指令,立即執行;

@程式導向與物件導向

  • 程式導向:以函式為核心,順序地呼叫函式,逐步實現功能,不利於程式碼複用和大規模開發;
  • 物件導向:以物件為核心,將有機關聯的函式和變數封裝在類中,模組化地進行開發,使用時自由進行組裝,架構師往往只需要進行模組拆分和介面設計,具體功能實現交由他人實現,程式碼重用性高,利於大規模協作的開展;

相關文章