編譯、解釋型語言:編譯型語言須要首先由編譯器將源代碼編譯爲機器代碼,再由機器執行,即運行前有一個編譯過程,C++是典型的編譯語言,GCC是C++的最流行的編譯器;解釋型語言不須要編譯,運行時直接由解釋器解釋執行,典型表明如shell、Python;也有語言是這兩種類型的混合,即既須要編譯,又須要解釋執行,典型表明如Java,Java代碼首先由編譯器編譯爲Java字節碼,後由JVM(Java虛擬機)解釋執行;須要說明的是編譯、解釋的界限並不絕對,例如Python代碼解釋執行前也能夠被編譯或者說優化爲內部代碼(.pyc格式文件)。shell
可移植性:指能夠在多種環境(平臺)下運行,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發佈的編程語言熱度指數給出了最熱門的編程語言以及它們的份額。