程序的開發(fā)流程:設計數(shù)據(jù)結構與算法->源程序編輯->編譯鏈接->調(diào)試
編譯行語言:指代碼源程序代碼寫好后,編譯器直接把高級語言的源代碼編譯成二進制碼,執(zhí)行的時候執(zhí)行機器碼,C++就是典型的編譯型語言,
解釋型語言:寫好的代碼不會馬上翻譯為機器碼,而是保存為源程序的代碼文件,等運行時,這些語句才由解釋器一條一條來解釋執(zhí)行。典型的解釋型語言是python。
一般而言編譯型語言運行效率高,解釋性語言可移植性好。
一、編譯型語言
代表性語言
C、C++、Pascal/Object Pascal(Delphi)等語言。
特點
該語言需要使用專門的編譯器,針對特定的運行平臺,將高級語言一次性編譯為可被該平臺硬件解析、執(zhí)行的機器語言,并且編譯完后的文件可以被封裝為平臺能夠運行的程序格式,如windows平臺可執(zhí)行程序.exe。
使用編譯型語言所編寫的程序在運行之前,需要將高級語言所編寫的程序源碼進行一次性的編譯封裝成可執(zhí)行的機器語言文件,封裝成類似于.exe可執(zhí)行文件。程序需要再次運行時,不需要對源碼再次進行編譯,只需要直接運行編譯結果即可,所以編譯型語言的執(zhí)行效率都很高。
二、解釋型語言
代表性語言
Python、JavaScript、Shell、Ruby、MATLAB等語言。
特點
解釋型語言不需要在運行之前對源碼進行事先編譯,可以直接將源代碼解釋稱機器語言并立即運行,獲取運行結果。所以解釋型語言的運行只需要對應的語言支持平臺提供了相應的語言解釋器即可。程序不需要編譯,程序在運行時才會被翻譯為機器語言執(zhí)行,每執(zhí)行一次都要通過解釋器進行一次解釋。
三、總結
編譯型語言
1.只須編譯一次就可以把源代碼編譯成機器語言,后面的執(zhí)行無須重新編譯,直接使用之前的編譯結果就可以;因此其執(zhí)行的效率比較高;
2.編譯性語言代表:C、C++、Pascal/Object Pascal(Delphi);
3.程序執(zhí)行效率比較高,但比較依賴編譯器,因此跨平臺性差一些;
,,,,
解釋型語言
1.源代碼不能直接翻譯成機器語言,而是先翻譯成中間代碼,再由解釋器對中間代碼進行解釋運行;
2.程序不需要編譯,程序在運行時才翻譯成機器語言,每執(zhí)行一次都要翻譯一次;
3.解釋性語言代表:Python、JavaScript、Shell、Ruby、MATLAB等;
4.運行效率一般相對比較低,但是部分解釋性語言的解釋器通過在運行時動態(tài)優(yōu)化代碼,甚至能使解釋性語言的性能超過編譯性語言;
5.依賴解釋器,跨平臺性好
1 編譯型與解釋型的共同點
他們都要弄成二進制代碼才能執(zhí)行,兩類編程語言的源代碼都是英文,但是我們的計算機并不認識英文,所以都要轉化成二進制才能執(zhí)行。