高级语言和低级语言之间需要一个转换的工具:编译器
、解释器
低级语言
- 面向机器的语言,包括机器语言、汇编语言
- 不同的机器不能通用,不同的机器需要不同的机器指令或者汇编程序
高级语言
- 接近自然语言和数学语言的计算机语言
- 高级语言首先要书写源程序,通过编译程序把源程序转换成机器指令的程序
- 1954年正式发布的Fortran语言是最早的高级语言,本意是公式翻译
编译器
编译器是把源代码整个编译成目标代码,执行时不在需要编译器,直接在支持目标代码的平台上运行,这样执行效率比解释执行快很多。比如C和C++等语言的代码被编译成二进制代码(exe程序),在windows平台上执行。
解释器
解释器是一条一条的解释执行源语言。比如Python、JAVA、javascript、PHP就是典型的解释性语言。它们的代码需要被解释器编程中间代码(Bytecode),在虚拟机上运行。
- 编译语言,把源代码转换成目标机器的CPU指令
- 解释语言,解释后转换成字节码,运行在虚拟机上,解释器执行中间代码
- 编译器的优点:执行效率远远高于解释运行的程序
- 解释器的优点:比较容易让用户实现自己跨平台的代码