1.概念
编译型语言
- 编译器(Compiler)将编译型语言的源码转换目标文件(Object file)的过程叫做编译(Compile)。每个源文件都会生成一个目标文件,目标文件也是可执行文件,不过只是项目中的一部分。
- 链接器(Linker)将所有目标文件合并成一个可执行的二进制代码的过程,叫做链接(Link)。
- 执行时,只能执行可执行的二进制代码。
解释型语言(脚本语言)
解释器不用等编译完成,它是直接将解释型语言的的源码拿过来,翻译一句,执行一句。
2. 区别
它们都有翻译的意思。但是区别在于翻译的时机。
- 当我们只会母语,但是又想想阅读一本外语书,我们可以找一个翻译,给他足够的时间,让他去翻译一正本书,我们拿着翻译后的书再去阅读。这样的过程就类似于翻译性语音的编译过程。
当我们不想等那么久,就可以让翻译站在旁边,你看一句,他就翻译一句。如果你回过头来,想看一个已经翻译过的内容,你依然不认识,还需要翻译者给你重新翻译。
3. 优劣比较
编译型语言
一次性编译完成,执行速度快
- 生成统一的二进制可执行代码,对系统的要求降低
- 大型的操作系统、应用程序、数据库均采用它
- 如 OC/ C/C++、Pascal、Go、汇编
解释型语言(脚本语言Script)
- 没修改源码,不用等待编译链接,可直接执行、更加灵活、部署容易
- 翻译一句,执行一句,执行速度慢
- 适用于对速度要求不高、对系统平台的兼容性要求高的程序,如网页
- 如 Shell、JavaScript、Python、PHP、Ruby
