不得不说,程序不需要编译,程序在运行时才翻译成机器语言,每执行一次,都要翻译一次,因此效率比较低。在运行程序时才翻译,专门有一个解释器去进行翻译,每个语句都是执行的时候才翻译,依赖解释器,如 Java、C#、PHP、JavaScript、Python 等。
对于解释型语言,每次执行程序都需要一边转换一边执行,用到哪些源代码就将哪些源代码转换成激起码,用不到的不进行任何处理。每次执行程序时可能会使用不同的功能,这个时候需要转换的源代码也不一样。
因为每次执行程序都需要重新转换源代码,所以解释型语言的执行效率天生就低于编译型语言,甚至存在数量级的差距。计算机的一些底层功能或者关键算法,一般都使用 C/C++ 实现,只有在应用层面(比如网站开发、批处理、小工具等)才会使用解释型语言。