编译型语言与解释型语言有何区别( 三 )


我以后也会在我的专栏中介绍如何对解释语言进行加速 。
1、编译型语言
编译型语言字面意思就是,编译的时候直接编译成机器可以执行或调用的程序(如exe、dll或ocx等类型) 。典型常见的编译型语言包括C、C++、Pascal等语言 。如将C语言可直接编译成exe程序,运行时直接运行exe程序就可以了,无需重新编译,所以程序执行效率较高 。编译型语言程序执行过程如下所示:

编译型语言与解释型语言有何区别


2、解释型语言

解释型语言是相对于编译型语言来说的,其特点是不需要编译,运行时使用一个专门的解释器去翻译,每一条语句都是执行的时候才翻译,所以这类程序每执行一次就要翻译一次,运行效率较称低 。典型的如Java、Python、Matlab等语言,都属于解释型语言 。解释型语言程序其执行过程如下所示:
编译型语言与解释型语言有何区别


3、两者比较
  • 从运行效率上来说,编译型语言运行速度快;而解释型语言代码需要有专门的解释器,在程序运行时,除要给用户程序本身分配内存空间外,解释器也占用系统资源,所以其运行速度较慢 。

  • 从可移植性上来说,编译型语言需要经过编译方可运行,只能在兼容的操作系统上运行,故可移植性差;解释型语言可移植性好,只要有解释器环境,程序就可以在不同的操作系统上运行 。

  • 从代码保护性上来说,编译型语言编译后程序不可以修改,且看不到源码,保密性较好;而解释型语言较容易看到原代码 。

  • 从应用场合来说,编译型语言由于其执行速度较快,同等条件下对系统的要求较低,因此常用于开发操作系统、大型应用程序、图像处理、数据库开发等场合;解释型语言常用于,一是对运行速度要求不高(如一些网页脚本、服务器脚本、接口辅助开发等)的场合,二是对跨平台(操作系统的兼容性)有要求的场合 。

推荐阅读