

编程语言(Programming Language),是一种用于编写计算机程序的语言,用于控制计算机的行为。按照语言在执行之前是否需要编译区分,可以将编程语言分为需要编译的编译型语言(Compiled Language),不需要编译的解释型语言(Interpreted Language) 。
编译型语言:编译型语言的程序在执行之前有一个编译过程,把程序编译成为机器语言的文件。运行时不需要重新翻译,直接使用编译的结果。典型的如C/C++/Go语言,都属于编译型语言。从源码到程序的过程:源码需要由编译器、汇编器翻译成机器指令,再通过链接器链接库函数生成机器语言程序。机器语言必须与CPU的指令集匹配,在运行时通过加载器加载到内存,由CPU执行指令。
解释型语言:解释型语言的程序不需要在运行前编译,在运行程序的时候才逐行翻译。典型的如Java/Python语言,都属于解释型语言。从源码到程序的过程:解释型语言的源代码由编译器生成字节码,然后再由虚拟机(JVM/PVM)解释执行。虚拟机将不同CPU指令集的差异屏蔽,因此解释型语言的可移植性相对较好。