编译型和解释型语言的区别
类型 原理 优点 缺点 编译型语言 通过专门的编译器,将所有源代码一次性转换成特定平台(Windows、Linux、macOS等)的机器码(以可执行文件的形式存在) 编译一次后,脱离了编译器也能运行,并且运行效率高。 可移植性差,不够灵活。 解释型语言 通过专门的解释器,根据需要可以将部分或全部源代码转换成特定平台(Windos、Linux、macOS等)的机器码。 跨平台性好,通过不同的解释器,将相同的源代码解释成不同平台下的机器码。 一边执行一边转换,效率较低。
- 编译型语言的代表:C语言、C++、Golang、汇编语言等。
- 解释型语言的代表: Python、JavaScript、PHP、Shell 等。
- JAVA 属于将源代码先转换成一种中间文件(字节码文件),然后再将中间文件拿到虚拟机中执行的半编译半解释型语言。
详细请参考:C语言中文网<编译型语言和解释型语言的区别>