概念:计算机不能直接的理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言的编写的程序。翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。

编译型语言需要编译器     解释型语言需要解释器

优缺点:

  编译型语言:

  1. 执行速度:用c/c++编写的程序运行速度要比用java编写的相同程序快30%-70%
  2. 执行消耗内存:编译型程序比解释型程序消耗内存更少
  3. 编写:编译器比解释器要难写得多
  4. 调试:编译器在程序调试时提供不了多少帮助
  5. 内存:可执行的编译型代码要比解释型代码大很多
  6. 依赖性:编译型程序是面向特定平台的,对平台有依赖性
  7. 安全性:编译型程序不支持代码中实现安全性
  8. 由于安全性和平台依赖性,编译型语言不太适合开发因特网或者基于web的应用

 

  解释型语言:

  1. 调试:解释型语言提供了极佳的调试支持,
  2. 编写:解释器比编译器更容易实现
  3. 灵活:解释型语言最大的优势之一是其平台的独立性
  4. 安全性:解释型语言可以保证高度的安全性——这是互联网应用迫切需要的
  5. 平台独立性:严密的安全性使解释型语言成为互联网和web应用的理想语言的2个最重要的因素
  6. 编译速度:由于解释性应用的周期(解码-抓取-执行),他们比编译型程序慢很多