動態語言和靜態語言,編譯型語言和解釋型語言,強類型語言和弱類型語言,腳本語言

1、動態語言

是一類在運行時可以改變其結構的語言:例如新的函數、對象、甚至代碼可以被引進,已有的函數可以被刪除或是其他結構上的變化。通俗點說就是在運行時代碼可以根據某些條件改變自身結構
主要動態語言:Object-C、C#、JavaScript、PHP、Python、Erlang。

2、靜態語言

與動態語言相對應的,運行時結構不可變的語言就是靜態語言。如Java、C、C++。

 

1、編譯型語言

需通過編譯器(compiler)將源代碼編譯成機器碼,之後才能執行的語言。一般需經過編譯(compile)、鏈接(linker)這兩個步驟

編譯是把源代碼編譯成機器碼,
鏈接是把各個模塊的機器碼和依賴庫串連起來生成可執行文件。

優點:編譯器一般會有預編譯的過程對代碼進行優化。因爲編譯只做一次,運行時不需要編譯,所以編譯型語言的程序執行效率高。可以脫離語言環境獨立運行。
缺點:編譯之後如果需要修改就需要整個模塊重新編譯。編譯的時候根據對應的運行環境生成機器碼,不同的操作系統之間移植就會有問題,需要根據運行的操作系統環境編譯不同的可執行文件。
代表語言:C、C++、Pascal、Object-C以及最近很火的蘋果新語言swift

2、解釋型語言

解釋性語言的程序不需要編譯,相比編譯型語言省了道工序,解釋性語言在運行程序的時候才逐行翻譯。
優點:有良好的平臺兼容性,在任何環境中都可以運行,前提是安裝瞭解釋器(虛擬機)。靈活,修改代碼的時候直接修改就可以,可以快速部署,不用停機維護。
缺點:每次運行的時候都要解釋一遍,性能上不如編譯型語言。
代表語言:JavaScript、Python、Erlang、PHP、Perl、Ruby

 

1、強類型語言

        強類型語言是一種強制類型定義的語言,一旦某一個變量被定義類型,如果不經過強制轉換,則它永遠就是該數據類型了,強類型語言包括Java、.net 、Python、C++等語言。

2、弱類型語言

        弱類型語言是一種弱類型定義的語言,某一個變量被定義類型,該變量可以根據環境變化自動進行轉換,不需要經過顯性強制轉換。弱類型語言包括vb 、PHP、javascript等語言
 

腳本語言

腳本語言是一種解釋性的語言,例如vbscript,javascript,installshield script,ActionScript等等,它不象c\c++等可以編譯成二進制代碼,以可執行文件(文本形式存在,類似於一種命令)的形式存在.腳本語言不需要編譯,可以直接用,由解釋器來負責解釋。

解釋性語言有個特列就是java,他是不是腳本語言,他要編譯,也要解釋

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