老狗——靜態語言和動態語言

靜態語言(強類型語言)

靜態語言是在編譯時變量的數據類型即可確定的語言,多數靜態類型語言要求在使用變量之前必須聲明數據類型。
例如:C++、Java、Delphi、C#等。

靜態語言的優勢
由於類型的強制聲明,使得IDE有很強的代碼感知能力,故,在實現複雜的業務邏輯、開發大型商業系統、以及那些生命週期很長的應用中,依託IDE對系統的開發很有保障;
由於靜態語言相對比較封閉,使得第三方開發包對代碼的侵害性可以降到最低;

動態語言(弱類型語言)

動態語言是在運行時確定數據類型的語言。變量使用之前不需要類型聲明,通常變量的類型是被賦值的那個值的類型。
例如PHP/ASP/Ruby/Python/Perl/ABAP/SQL/JavaScript/Unix Shell等等。

動態語言的優勢
思維不受束縛,可以任意發揮,把更多的精力放在產品本身上;
集中思考業務邏輯實現,思考過程即實現過程;

動態語言和靜態語言最大的不同,就是函數和類的定義,不是編譯時定義的,而是運行時動態創建的。

強類型定義語言

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

弱類型定義語言

數據類型可以被忽略的語言。它與強類型定義語言相反, 一個變量可以賦不同數據類型的值。強類型定義語言在速度上可能略遜色於弱類型定義語言,但是強類型定義語言帶來的嚴謹性能夠有效的避免許多錯誤。

強弱類型語言區別

強類型語言是一旦變量的類型被確定,就不能轉化的語言。
弱類型語言則反之,一個變量的類型是由其應用上下文確定的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章