靜態和動態編程語言有什麼不同?我知道這是關於類型系統,但我正在尋求更清楚的說明。靜態和動態編程語言不同
13
A
回答
16
靜態類型
靜態類型是指類型是已知的,運行程序前檢查正確性。這通常由語言的編譯器完成。
public void foo() {
int x = 5;
boolean b = x;
}
動態類型
動態類型意味着,你的程序運行類型唯一已知的:例如,在運行程序之前以下Java方法會導致編譯錯誤,。例如,下面的Python(3,如果它的事項)腳本可以毫無問題地運行:
def erroneous():
s = 'cat' - 1
print('hi!')
它確實會輸出hi!
。但是,如果我們稱之爲erroneous
:
def erroneous():
s = 'cat' - 1
erroneous()
print('hi!')
一個TypeError
將在運行時當erroneous
被稱爲提高。
-1
靜態類型語言:
- 你需要事先聲明變量的 '類型'。
NSString *string = @"Hello";
- 不能保存對象的其它類型的(或混凝土或原語)中相同的名稱
NSString *string = @"Hello"; int string = 9; // Not legal, compile type warning
例如靜態的可變鍵入語言:Ja VA,Objective-C的等
動態類型語言:
- 無需聲明對象類型。它將在運行時計算出來。
字符串=「你好」
- 我們是允許更改對象類型相同的變量,如名稱必然要與賦值操作符的對象。
string = 'Hello' string = 9 // Allowed
例如動態類型語言:Python等
相關問題
- 1. 靜態和動態編程
- 2. 動態語言中的安全編程
- 3. 功能語言動態編程
- 4. '動態'搜索的編程語言?
- 5. 程序語言理解 - 靜態vs動態範圍
- 6. 爲.NET構建靜態和動態語言有什麼區別?
- 7. 是否有允許靜態和動態打字的語言?
- 8. 靜態語言的隱私
- 9. .NET和動態語言
- 10. 鸚鵡VM和靜態語言
- 11. 多語言靜態塊不起作用
- 12. 編輯靜態控制靜態和動態
- 13. Kotlin編程語言的靜態分析工具?
- 14. 在Django中使用的動態語言特性和元編程
- 15. 創建多語言網站 - 靜態還是動態?
- 16. 用動態語言編寫.NET?
- 17. 靜態斷言和SFINAE
- 18. 靜態和非靜態同步
- 19. 靜態斷言不叫
- 20. Android動態和靜態BroadcastReceivers
- 21. 靜態和動態庫
- 22. 靜態和動態類型
- 23. 動態和靜態數組
- 24. 靜態和動態綁定
- 25. 結合靜態斷言和斷言?
- 26. 多語言動態Silverlight應用程序
- 27. Pimcore多語言網站靜態路由
- 28. CakePHP多語言靜態頁面
- 29. 多語言靜態網站與JQuery
- 30. 設計模式列表僅適用於靜態類型語言,但不適用於動態類型語言?
-1靜態和動態類型與類型註釋/推理沒有任何關係。恰巧許多舊的靜態類型語言堅持使用類型註釋,但這是無關緊要的。有靜態類型的語言沒有類型註釋。 (例如Haskell。) – sleeparrow