編程語言類型划分


(一)編譯型和解釋型

計算機不能直接理解高級語言,僅僅能直接理解機器語言,所以必需要把高級語言翻譯成機器語言,計算機才干運行高級語言編寫的程序。翻譯的方式有兩種,一個是編譯,一個是解釋。

編譯型語言寫的程序執行之前,已經程序編譯好了,比方exe文件,以后要執行的話就不用又一次翻譯了。直接使用編譯的結果即可了(exe文件),由於翻譯僅僅做了一次,執行時不須要翻譯,所以編譯型語言的程序執行效率高。

解釋性語言的程序在執行程序的時候才翻譯,邊執行邊翻譯

這樣解釋性語言每執行一次就要翻譯一次。效率比較低。

用一個樣例類比下,比方一個人讀一本外語書。他能夠選擇直接讀別人翻譯好的(編譯型),或者讓別人一句句讀給他聽(解釋型)。翻譯好的譯文隨時能夠再讀,請別人讀每一個章節都須要又一次讀一次。


(二)動態語言和靜態語言

動態類型語言:在執行期間檢查數據的類型的語言。

用這類語言編程,不會給變量指定類型,而是在附值時得到數據類型。

靜態類型語言:相反靜態類型語言是在執行前編譯時檢查類型。在寫代碼時。沒聲明一個變量必須指定類型。

動態類型語言如JS

function add(a,b){
return a+b;
}
add(1,2);
add('1',2);

靜態類型語言如C、C++、Java、C#等

public int add(int a,int b){
return a+b;
}

(三)強類型定義語言和弱類型定義語言

強類型定義語言:強制數據類型定義的語言。

也就是說,一旦一個變量被指定了某個數據類型,假設不經過強制轉換。那么它就永遠是這個數據類型了。舉個樣例:假設你定義了一個整型變量a,那么程序根本不可能將a當作字符串類型處理。

強類型定義語言是類型安全的語言,如Java。

弱類型定義語言:數據類型能夠被忽略的語言。它與強類型定義語言相反, 一個變量能夠賦不同數據類型的值。如JS。




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM