動態(tài)語言、動態(tài)類型語言、靜態(tài)類型語言、強類型語言、弱類型語言介紹
關于如題這幾個概念,大部分人應該比較熟悉,但是我昏了好久,所以寫下來加深印象。
1. 動態(tài)語言
又叫動態(tài)編程語言,是指程序在運行時可以改變其結構:新的函數(shù)可以被引進,已有的函數(shù)可以被刪除等在結構上的變化。比如眾所周知的ECMAScript(JavaScript)便是一個動態(tài)語言。除此之外如Ruby、Python等也都屬于動態(tài)語言,而C、C++等語言則不屬于動態(tài)語言。
而其實我們平時說的“動態(tài)語言”應該指的是“動態(tài)類型語言”。至少我之前一直是這么認為的。
2. 動態(tài)類型語言
在運行時,確定類型的語言。
即編譯時與類型無關。一般在變量使用之前不需要聲明變量類型,而變量的類型通常是由被賦的值的類型決定。 如php、Python和Ruby。
3. 靜態(tài)烈性語言
與動態(tài)類型語言正好相反,在編譯時,便需要確定類型的語言。即寫程序時需要明確聲明變量類型。如C/C++、Java、C#等。
對于動態(tài)語言與靜態(tài)語言的區(qū)分,套用一句流行的話就是:Static typing when possible, dynamic typing when needed。
4. 強類型語言
強制數(shù)據(jù)類型定義的語言。也就是說,一旦一個變量被指定了某個數(shù)據(jù)類型,如果不經(jīng)過強制轉(zhuǎn)換,那么它就永遠是這個數(shù)據(jù)類型了。
強類型定義語言是類型安全的語言。
5. 弱類型定義語言
數(shù)據(jù)類型可以被忽略的語言。它與強類型定義語言相反, 一個變量可以賦不同數(shù)據(jù)類型的值。
強類型定義語言在速度上可能略遜色于弱類型定義語言,但是強類型定義語言帶來的嚴謹性能夠有效的避免許多錯誤。
另外,由上邊看出“這門語言是不是動態(tài)類型語言”與“這門語言是否類型安全”之間是完全沒有聯(lián)系的!
相關文章
Python實現(xiàn)用戶登錄并且輸入錯誤三次后鎖定該用戶
這篇文章主要介紹了Python實現(xiàn)用戶登錄并且輸入錯誤三次后鎖定該用戶,文中通過c#代碼給大家補充介紹了密碼輸入三次錯誤后鎖定用戶功能,需要的朋友可以參考下2020-01-01Intellij idea2020永久破解,親測可用?。?!
隨著 IDEA 的 2020 版本的發(fā)布,新增和優(yōu)化了很多的功能,今天來講一講如何永久破解,親測可用,對idea2020永久破解 教程感興趣的朋友可以跟隨小編一起看看吧2020-05-05