解释型
优点:跨平台灵活性高;语言灵活,开发效率高
缺点:每次执行程序时需要对代码进行解析,性能较低;源代码文件体积大。
举例:早期地JavaScript、PHP
编译型
优点:可以针对目标平台对编译生成的机器指令进行充分优化,性能最高。
缺点:跨平台灵活性较差;开发效率较低
举例:C、C++
半解释、半编译型
优点:字节码的跨平台灵活性较高;结合JIT等技术可获得较高的性能;虚拟机可托管垃圾回收等底层细节,开发效率较高;经过特殊设计的虚拟机字节码能够方便地进行形式化验证
缺点:虚拟机的启动、运行需要占用额外的计算资源;实时性较差
举例:Java&JVM、solidity&EVM