posts - 134,comments - 22,trackbacks - 0

          1、動態語言和靜態語言
            通常我們所說的動態語言、靜態語言是指動態類型語言和靜態類型語言。

          (1)動態類型語言:動態類型語言是指在運行期間才去做數據類型檢查的語言,也就是說,在用動態類型的語言編程時,永遠也不用給任何變量指定數據類型,該語言會在你第一次賦值給變量時,在內部將數據類型記錄下來。Python和Ruby就是一種典型的動態類型語言,其他的各種腳本語言如VBScript也多少屬于動態類型語言。

          (2)靜態類型語言:靜態類型語言與動態類型語言剛好相反,它的數據類型是在編譯其間檢查的,也就是說在寫程序時要聲明所有變量的數據類型,C/C++是靜態類型語言的典型代表,其他的靜態類型語言還有C#、JAVA等。

          對于動態語言與靜態語言的區分,套用一句流行的話就是:Static typing when possible, dynamic typing when needed。

          2、強類型定義語言和弱類型定義語言

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

          (2)弱類型定義語言:數據類型可以被忽略的語言。它與強類型定義語言相反, 一個變量可以賦不同數據類型的值。

          強類型定義語言在速度上可能略遜色于弱類型定義語言,但是強類型定義語言帶來的嚴謹性能夠有效的避免許多錯誤。另外,“這門語言是不是動態語言”與“這門語言是否類型安全”之間是完全沒有聯系的!

          posted on 2008-12-13 22:55 何克勤 閱讀(155) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 奉节县| 都匀市| 枝江市| 嘉善县| 崇左市| 沁源县| 津市市| 武功县| 恭城| 丽水市| 安阳市| 宁远县| 肃北| 家居| 岐山县| 扶沟县| 江安县| 宁都县| 石城县| 石家庄市| 穆棱市| 海淀区| 谢通门县| 即墨市| 建湖县| 西吉县| 定安县| 鲜城| 德格县| 定襄县| 丹江口市| 神木县| 将乐县| 澄迈县| 视频| 塘沽区| 九台市| 明光市| 永泰县| 明溪县| 桂平市|