程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 編程語言相關概念,編程語言概念

編程語言相關概念,編程語言概念

編輯:C++入門知識

編程語言相關概念,編程語言概念


 

編譯、解釋型語言:編譯型語言需要首先由編譯器將源代碼編譯為機器代碼,再由機器執行,即運行前有一個編譯過程,C++是典型的編譯語言,GCC是C++的最流行的編譯器;解釋型語言不需要編譯,運行時直接由解釋器解釋執行,典型代表如shell、Python;也有語言是這兩種類型的混合,即既需要編譯,又需要解釋執行,典型代表如Java,Java代碼首先由編譯器編譯為Java字節碼,後由JVM(Java虛擬機)解釋執行;需要說明的是編譯、解釋的界限並不絕對,例如Python代碼解釋執行前也可以被編譯或者說優化為內部代碼(.pyc格式文件)。

可移植性:指可以在多種環境(平台)下運行,C++具有可移植性,其可移植性由編譯器可以將符合標准的C++代碼編譯為不同的目標平台而得到。

靜態、動態類型:若類型是在編譯時確定,則為靜態,如C++,若類型是在運行時確定則為動態,如Python,一般來說,靜態類型中變量類型確定之後就不能改變,動態類型中變量類型(在運行時)可以改變。

強、弱類型:強類型偏向於更嚴格的類型檢查,更不容易進行隱式類型轉換,弱類型則相反,C++、Python都可被認為是強類型。

顯式、隱式類型:若類型是語法的一部分(例如,變量的帶類型的聲明、定義)則為顯示,若類型是推導出來,非顯示指定,則為隱式,C++為顯示類型,Python為隱式類型。

類型安全、不安全:類型安全語言能正確解釋內存區域的類型,即總能以和構建時相同(或兼容)的類型訪問內存區域,由於指針的存在,一般認為C++是類型不安全的,Python是類型安全的。

C++是靜態、強、顯示、不安全類型語言,當然以上關於類型概念並沒有嚴格定義,只是通俗的、大致的分類,參考文獻2。

內省、反射:內省(Introspection)是指程序運行時檢查對象類型的能力,反射(Reflection)更進一步,指程序運行時可訪問、檢測、修改自身狀態或行為的能力,參考文獻3,C++通過dynamic_cast和typeid可實現內省。

閉包:又稱詞法閉包(Lexical Closure)或函數閉包(Function closures),由函數和與其相關的引用環境(變量)組合而成的實體(集合),是實現函數式編程的關鍵,參考文獻3。

編程范型(模型):過程、結構化、面向對象、泛型、函數式、並發、分布式等,參考文獻4,C++可以實現過程、結構化、對象、泛型(通過模板)、函數式(通過operator()模擬)編程。

編程語言排行榜:TIOBE發布的編程語言熱度指數給出了最熱門的編程語言以及它們的份額。

 

參考文獻:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved