上QQ阅读APP看书,第一时间看更新
1.2.2 编译与解释
因中央处理器只能理解和执行机器语言指令,所以用高级语言编写的程序(又称为源代码)必须翻译成机器语言(又称为目标代码)后才能执行。翻译方式有两种:编译和解释。编译是将高级语言编写的代码转换成独立机器语言代码的过程,转换后的机器语言程序可以随时执行,执行编译的计算机程序称为编译器。解释是将高级语言编写的源代码逐条转换成机器语言后立即执行相应指令,不断重复该过程执行程序中的所有指令。执行解释的计算机程序称为解释器。
编译和解释的区别在于:编译是一次性翻译,一旦程序被编译,就不再需要重复编译程序或源代码;解释则是在每次程序运行时都需要解释器和源代码。
采用编译方式的优点是,对于相同的源代码,编译产生的目标代码的执行速度比解释方式更快,并且目标代码不需要编译器就可以运行,在同类操作系统上使用更灵活。而采用解释方式的优点是,因为解释执行需要保留源代码和解释器,程序纠错和维护更加方便,并且因为有解释器,源代码可以在任何操作系统上运行,程序的可移植性更好。
根据翻译方式的不同,高级语言可以分为两类:静态语言和脚本语言。静态语言采用编译方式执行,如C、C++和Java等;脚本语言采用解释方式执行,如Python、JavaScript、PHP等。无论采用哪种翻译方式,用户的使用方式是一致的。