解释性编程语言与编译性编程语言的区别是:1、程序控制权不同;2、运行速度不同;3、移植性不同。其中,对于解释性语言而言,程序运行时的控制权在解释器(jre,.net)而不再用于程序。
一、解释性编程语言与编译性编程语言的区别
1、程序控制权不同
对于解释性语言而言,程序运行时的控制权在解释器(jre,.net)而不再用于程序。编译型语言对于编译器而言,运行时的控制权在用户程序。
2、运行速度不同
一些网页脚本,服务器脚本以及辅助开发接口这样的对速度要求不高,对不同系统的兼容性有一定要求的程序则通常使用解释性语言,如Java、JavaScript、VBScript、Perl、Python、Ruby、Matlab等等。
编译语言由于程序执行速度快,同等条件下对系统的要求比较低,因此像开发操作系统、大型应用程序、数据库系统等时都采用它,像C/C++,Pascal/Object Pascal(Delphi)等都是编译型语言。
3、移植性不同
解释型语言,例如Java语言,Java程序首先通过编译器编译成class文件,如果在Windows平台上运行,则通过Windows平台上的Java虚拟机(VM)进行解释。如果运行在Linux平台上,则通过Linux平台上的Java虚拟机进行解释执行。
所以说能跨平台,前提是平台上必须要有相匹配的Java虚拟机。如果没有Java虚拟机,则不能进行跨平台。
编译型语言,例如C语言,用C语言开发程序后,需要通过编译器把程序编译成机器语言(即计算机可以识别的二进制文件,因为不同的操作系统识别的二进制文件是不同的),所以C语言程序进行移植后,需要重新编译(如Windows编译成ext文件,Linux编译成erp文件)。
延伸阅读:
二、机器语言
机器语言是机器能直接识别的程序语言或指令代码,无需经过翻译,每一操作码在计算机内部都有相应的电路来完成它,或指不经翻译即可为机器直接理解和接受的程序语言或指令代码。机器语言使用绝对地址和绝对操作码。不同的计算机都有各自的机器语言,即指令系统。从使用的角度看,机器语言是最低级的语言。