编译型语言:使用平台相关的编译器(编程语言提供)对源代码进行编译,并包装生成可以直接在平台上运行的可执行程序(可执行程序通过平台提供的解释器解释运行)。优点:一次编译,多次运行,执行效率高。缺点:可移植性差,跨平台需要修改源代码。C、C++、Objective-C、Swift、Kotlin等语言属于编译型语言。
解释型语言:使用平台相关的编译器(编程语言提供)和解释器(编程语言提供)对源代码进行逐行编译和解释(注:执行哪行代码,就编译和解释哪行代码,不执行的代码不编译和解释)。优点:可移植性好,跨平台无需修改源代码。缺点:每次运行都要重新编译,执行效率低。JavaScript、Ruby、Python等语言属于解释型语言。
Java语言:介于编译型语言和解释型语言之间。使用平台相关的编译器(编程语言提供)和解释器(编程语言提供)对源代码进行编译和解释,结合了编译型语言和解释型语言的优点,是一种折中的方案。