計算機語言python,python是什么語言-python是一門什么樣的語言?

 2023-11-18 阅读 29 评论 0

摘要:解釋型,從字面上看,編譯和解釋都有翻譯的意思,它們的區別則在于翻譯的時機安排不大一樣。打個比方:閱讀一本不懂的外語書,可以找一個翻譯,給他足夠時間從頭到尾把整本書翻譯好,然后把母語版書給你閱讀;或者,讓

解釋型,從字面上看,編譯和解釋都有翻譯的意思,它們的區別則在于翻譯的時機安排不大一樣。打個比方:閱讀一本不懂的外語書,可以找一個翻譯,給他足夠時間從頭到尾把整本書翻譯好,然后把母語版書給你閱讀;或者,讓翻譯一句一句給你翻譯,如果想往回看某個章杰,他也得重新給你翻譯。

兩種方式,前者就相當于編譯型:一次把所有 代碼轉換成機器語言,然后寫成可執行文件;而后者就相當于解釋型:在程序運行的前一刻,還只有源程序而沒有可執行程序;而程序每執行到源程序的某一條指令,則會有一個稱之為解釋程序的外殼程序將源代碼轉換成二進制代碼以供執行,總言之,就是不斷地解釋、執行、解釋、執行……所以,解釋型程序是離不開解釋程序的。像早期的BASIC就是一門經典的解釋型語言,要執行BASIC程序,就得進入BASIC環境,然后才能加載程序源文件、運行。

解釋型語言注定比編譯型語言慢,某些情況下甚至會慢幾百倍。

編譯型與解釋型,兩者各有利弊。前者執行速度快,同等條件下對系統要求低,因此像開發操作系統、大型應用程序、數據庫系統等時采用。像C/C++、Pascal/Object

計算機語言python?Pascal(Delphi)、VB等基本都可視為編譯語言,而一些網頁腳本、服務器腳本及輔助開發接口這樣的對速度要求不高、對不同系統平臺間的兼容性有一定要求的程序則通常使用解釋型語言,如JAVA、JavaScript、VBScript、Perl、Python等。

編譯型和解釋型各有優缺點又相互對立,所以一批新興的語言都有把兩者折衷起來的趨勢,例如JAVA語言雖然比較接近解釋型語言的特征,但在執行之前已經預先進行一次預編譯,生成的代碼是介于機器碼和JAVA源代碼之間的中介代碼,運行的時候則由JVM(Java的虛擬機平臺,可視為解釋器)解釋執行。它既保留了源代碼的高抽象、可移植的特點,又已經完成了對源代碼的大部分預編譯工作,所以執行起來比"純解釋型”程序要快許多。而像VB6(或以前版本)、C#這樣的語言,雖然表面上看生成的是.exe可執行程序文件,但VB6編譯之后實際生成的也是一種中介碼,只不過編譯器在前面安插了一段自動調用某個外部解釋器的代碼(該解釋程序獨立于用戶編寫的程序,存放于系統的某個DLL文件中,所有以VB6編譯生成的可執行程序都要用到它),以解釋執行實際的程序體。

C#(以及其他.net的語言編譯器)則是生成.net目標代碼,實際執行時則由.net解釋系統(就像JVM一樣,也是一個虛擬機平臺)進行執行。當然.net目標代碼已經相當"低級”,比較接近機器語言了,所以仍將其視為編譯語言,而且其可移植程度也沒有JAVA號稱的這么強大,JAVA號稱"一次編譯,到處執行”,而.net則是"一次編碼,到處編譯”。總之隨著設計技術與硬件的不斷發展,編譯型與解釋型兩種方式的界限正在不斷變得模糊。

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/177178.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息