對于想要學習編程語言的人來說,可能對于Python和java的區別不是很了解,尤其是看到Python的標準實現方式是將源代碼的語句編譯為字節碼的形式,之后再將字節碼解釋出來。這種方式和java的實現方式類似啊,java也是先將源代碼編譯成平臺無關的字節碼,然后由虛擬機解釋執行。那為什么稱java為編譯型語言,而稱python為腳本語言呢?其實我們可以從以下幾點來解釋一下。
其實java,c#啥的算不上嚴格的傳統編譯型語言,又要編譯又要動態執行,支持一些動態特性又沒純動態語言徹底.python的字節碼編譯也不需要強制執行。python的字節碼編譯也不需要強制執行.這句話什么意思?python的源代碼可以不需要編譯就執行?Java的發布方式是編譯后的.class,Python的發布方式是.py源代碼。運行python的人看到的是 python的源代碼可以直接運行,編譯過程由pvm自動執行。對他而言,這就是腳本。所以叫腳本語言。而運行java程序的人看到的是一些編譯過的.class文件。所以叫編譯語言。腳本語言是一個不需要顯示編譯的編程語言,在現代硬件和現代編譯技術下,編譯已經變得越來越快導致腳本語言和傳統的編程語言之間的界限不在那么明顯。例如,V8作為Google Chrome瀏覽器的引擎,并且在瀏覽器之外使用了很多,實際上將JavaScript代碼編譯成機器代碼,而不是去解釋他們。事實上V8是一個優化了的兩個階段的編譯器。一個語言是不是”腳本”我們不應該只是從語言角度去看待,還應該要在存運行所在的環境去區別,你完全可以寫一個C語言的解釋器,并且將它作為腳本語言來運行。同樣也可以將JavaScript編譯成機器代碼。
以上便是合肥網站優化淺析腳本語言python 與JAVA的不同的內容介紹了,希望能夠對你們有所幫助哦。
責編:LEX