標籤:asc 速度 程式 特定 移植 net span 不能 moni
####**常見的幾種分類**### 1. 進階語言和低級語言 2. 動態類型和靜態類型 3. 強制類型和弱類型 4. 編譯型,解釋型,半編譯半解釋 5. 物件導向型和面向過程型----------####**1. 進階語言和低級語言** ##常見的低級語言有:機器碼、組合語言進階語言常見如:c,c++,java,python,PHP,c#,Ruby,go,kotlin,swift。機器碼:電腦能夠直接識別的二級制編碼,無論語言多進階都要轉成二級制檔案來讓電腦識別運行。彙編:用助記符(Mnemonics)代替機器指令的作業碼,用地址符號(Symbol)或標號(Label)代替指令或運算元的地址,在不同的裝置中有著不同的指令集進階語言:為省去編程時候的不必要的操作細節,節省代碼量,可讀性強,維護性強,更貼近人性化進階語言與低級語言的區別:進階語言大部分不能直接更硬體打交道,這使得相對來的程式運行速度降低,總之一句話來說那種語言更接近人性化的語言就更進階。----------####**2.動態類型和靜態類型**##動態性語言是指在程式運行期間才給變數指定資料的類型,常見於python和Ruby,而靜態類型語言則恰好相反,在寫程式碼的時候就要指定變數的類型,這種語言有:c,c++,java----------####**3.強制類型與弱類型**##我們可知C語言中,一個變數只能定義為一種類型,如float類型,那麼它就只能是float類型而不能在不發生轉化的情況下賦予int類型,這就是 **強制類型** 的具體體現。而python不是,python中的變數可以任意的複製,而沒有類型的界限。這就是**弱類型**強制類型更嚴謹,更不容易出現錯誤,但弱類型的語言寫起來更優雅,更舒暢----------####**4. 編譯型,解釋型,半編譯半解釋**##對於來源程式,編譯型語言在執行程式中會將源檔案一次性的轉化為機器碼,而解釋型語言是邊編譯邊解釋;編譯型語言是離不開解釋程式的,這也導致瞭解釋性語言對於運行時候的速度比價慢,解釋型語言只要有解譯器,移植起來比較方便,而編譯型語言則要對於不同的系統進行編譯,是的工作繁瑣,且在偵錯工具的時候比較慢編譯型語言可見於c,c++等解釋型語言可見於python,JavaScript,Perl,shell等而java是半編譯半解釋型的語言,java會將源檔案在jVM中轉化為位元組碼,即.class檔案,在程式啟動並執行時候轉化為二進位檔案。和C#中的.net有點區別,C#編譯的成的.net目標代碼,接近與二進位檔案,可移植性沒有java好,java是“一次編譯,到處執行”,c#是“一次編碼,到處編譯”。----------####**5. 物件導向型和面向過程型**##
面向過程是決定該怎麼鋪成一條路到達終點,而物件導向是要用那些具有特定功能的像來做,兩者是不同的思想。c++是部部分面對對象的,java具有封裝性是完全面對對象的,c語言是面對過程的語言
電腦語言的幾種分類