例如:ECMAScript(JavaScript)、Ruby、Python、VBScript、php
也叫動態類型定義語言
與靜態類型定義相反,一種在執行期間纔去發現數據類型的語言.
動態語言是指程序在運行時可以改變其結構,新的函數可以被引進,已有的函數可以被刪除
等在結構上的變化。
動態語言的類型檢查是在運行時做的。
它的優點是方便閱讀不需要寫非常多的類型相關的代碼.
缺點是不方便調試,命名不規範時會造成讀不懂不利於理解等。
目前java平臺下的動態語言有Groovy、nice、BeanShell、Jython、JRuby、Rhino(JavaScript)、
Jacl(TCL)、Bistro(SmallTalk)、Kawa(Lisp/Schema) 真是越來越多了。java下這麼多的動態
語言建議選擇Groovy 感覺血統較爲正宗,兼容Java的語法,java程序員學習起來較爲容
易上手較快。
2. 靜態語言Statically Typed Language
例如:C、C++、Java
也叫靜態類型定義語言。即一種在編譯時數據類型是固定的語言。大多數靜態類型定義語
言強制這一點,它要求你在使用所有變量之前要聲明它們的數據類型。
在使用數據之前,我們必須首先定義數據類型,這些數據類型包括int ,float,double等等。就
相當於在使用它們之前,首先要爲它們分配好內存空間。
靜態類型語言的主要優點在於其結構非常規範,便於調試,方便類型安全.
缺點是爲此需要寫更多的類型相關代碼,導致不便於閱讀、不清晰明瞭。
3. 強類型定義語言
一種總是強制類型定義的語言。Java和Python是強制類型定義的。如果你有一個整數,如
果不顯示地進行轉換,你不能將其視爲一個字符串
4. 弱類型定義語言
一種類型可以被忽略的語言 與強類型定義相反。VBScript是弱類型定義
的。在VBScript中,可以將字符串 '12' 和整數 3 進行連接得到字符串 '123'
然後可以把它看成整數 123而不需要顯示轉換。
5. 腳本語言
腳本語言代表一套與系統程序設計語言不同的協定。
它們犧牲執行速度和與系統程序設計語言相關的類型長度而提供更高的編程創作力和軟件
重用。
腳本語言更適合在聯繫複雜的應用程序中進行膠着。
爲了簡化連接組件的工作,腳本語言被設計爲無類型的腳本語言一般是面向字符的因爲
字符爲許多不同的事物提供了一致的描述。
事實上,腳本語言都是動態語言而動態語言都是解釋型語言不管它們是不是面向對象。