1. 程式人生 > >計算機語言的幾種分類

計算機語言的幾種分類

label 不同 解釋 文件 匯編語言 進制 c語言 可見 直接

####**常見的幾種分類**###

 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語言是面對過程的語言

計算機語言的幾種分類