编译语言和解释语言之间有什么区别?
在阅读了有关该主题的一些资料之后,我仍然不确定编译语言和解释语言之间的区别。有人告诉我这是Java和JavaScript之间的区别之一。有人能帮我理解吗?
回答:
编译语言和解释语言之间有什么区别?
从我的系统中得到了答案,这是一个答案:
在编译的实现中,原始程序被转换为本地机器指令,这些指令直接由硬件执行。
在解释的实现中,原始程序被翻译成其他东西。另一个程序称为“解释器”,然后检查“其他”并执行需要的任何操作。根据语言及其实现,“其他”的形式多种多样。从较流行到较不流行,“其他”可能是
虚拟机的二进制指令,通常称为 字节码 ,在Lua,Python,Ruby,Smalltalk和许多其他系统中也是如此(该方法在1970年代由UCSD P-system和UCSD Pascal普及了)
原始程序的树状表示形式,例如抽象语法树,许多原型或教育性解释程序都采用这种形式
源程序的标记化表示,类似于Tcl
源程序的字符,就像在MINT和TRAC中所做的一样
使问题复杂化的一件事 是可以将字节码转换(编译)为本机指令
。因此,成功的解释实现可能最终会获得编译器。如果编译器在后台动态运行,则通常称为即时编译器或JIT编译器。JIT已针对Java,JavaScript,Lua开发,我敢说许多其他语言。到那时,您可以使用混合实现,在该实现中解释一些代码并编译一些代码。
以上是 编译语言和解释语言之间有什么区别? 的全部内容, 来源链接: utcz.com/qa/402829.html