解惑解释性语言与编译性语言
生活随笔
收集整理的這篇文章主要介紹了
解惑解释性语言与编译性语言
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
計算機不能直接理解高級語言,只能直接理解機器語言,所以必須要把高級語言翻譯成機器語言,計算機才能執行高級語言編寫的程序。?
???? ???? 翻譯的方式有兩種,一個是編譯,一個是解釋。兩種方式只是翻譯的時間不同。編譯型語言寫的程序執行之前,需要一個專門的編譯過程,把程序編譯成為機器語言的文件,比如exe文件,以后要運行的話就不用重新翻譯了,直接使用編譯的結果就行了(exe文件),因為翻譯只做了一次,運行時不需要翻譯,所以編譯型語言的程序執行效率高。?
???? ???? 解釋則不同,解釋性語言的程序不需要編譯,省了道工序,解釋性語言在運行程序的時候才翻譯,比如解釋性basic語言,專門有一個解釋器能夠直接執行basic程序,每個語句都是執行的時候才翻譯。這樣解釋性語言每執行一次就要翻譯一次,效率比較低。?
???? ???? 編譯性語言: ? C?? c# ? vb ? delphi ?
???? 解釋性語言: ? asp ? vbscript ? javascript???
???? 編譯性語言: ? 以二進制形式保存 ? 不可見源代碼 ?
???? 解釋性語言: ? 以代碼形式保存 ? 可見原代碼 ???? ???? java很特殊,java程序也需要編譯,但是沒有直接編譯稱為機器語言,而是編譯稱為字節碼,然后用解釋方式執行字節碼。 先看一下java程序的運行過程,程序運行時先將.java文件通過編譯器編譯成字節碼文件(.class文件),然后java虛擬機將.class文件進行解釋,進而執行。最新的JAVA將使用JIT技術吧,所以JAVA是 ? 編譯+解釋+編譯 ? 性語言 ???? ???? 編譯性語言執行較快,解釋性語言相對慢。
???? ???? 翻譯的方式有兩種,一個是編譯,一個是解釋。兩種方式只是翻譯的時間不同。編譯型語言寫的程序執行之前,需要一個專門的編譯過程,把程序編譯成為機器語言的文件,比如exe文件,以后要運行的話就不用重新翻譯了,直接使用編譯的結果就行了(exe文件),因為翻譯只做了一次,運行時不需要翻譯,所以編譯型語言的程序執行效率高。?
???? ???? 解釋則不同,解釋性語言的程序不需要編譯,省了道工序,解釋性語言在運行程序的時候才翻譯,比如解釋性basic語言,專門有一個解釋器能夠直接執行basic程序,每個語句都是執行的時候才翻譯。這樣解釋性語言每執行一次就要翻譯一次,效率比較低。?
???? ???? 編譯性語言: ? C?? c# ? vb ? delphi ?
???? 解釋性語言: ? asp ? vbscript ? javascript???
???? 編譯性語言: ? 以二進制形式保存 ? 不可見源代碼 ?
???? 解釋性語言: ? 以代碼形式保存 ? 可見原代碼 ???? ???? java很特殊,java程序也需要編譯,但是沒有直接編譯稱為機器語言,而是編譯稱為字節碼,然后用解釋方式執行字節碼。 先看一下java程序的運行過程,程序運行時先將.java文件通過編譯器編譯成字節碼文件(.class文件),然后java虛擬機將.class文件進行解釋,進而執行。最新的JAVA將使用JIT技術吧,所以JAVA是 ? 編譯+解釋+編譯 ? 性語言 ???? ???? 編譯性語言執行較快,解釋性語言相對慢。
轉載于:https://blog.51cto.com/2200058/397599
總結
以上是生活随笔為你收集整理的解惑解释性语言与编译性语言的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (转)十步精通新语言
- 下一篇: Attachments failing