编译语言、解释语言和脚本语言
计算机不能直接理解高级语言,所以必须要把高级语言翻译成计算机可以理解的机器语言,翻译有两种方式:编译或者解释。两种方式只是翻译的时间不同。 | |||
---|---|---|---|
编译语言 | 解释性语言 | 脚本语言 | |
概念 | 程序——>预处理——>编译——>汇编——>生成可执行文件——>执行程序 编译过程就是直接编译成机器可以执行的文件(.exe .dll .ocx) | 源代码执行时被解释器翻译为一种中间代码 | 是解释性语言的一个子集,介于HTML和C,C++,Java,C#等编程语言之间 |
特性 | (1)源代码有错编译不通过,也就没办法生成可行性代码,也就没有办法执行程序 (2)编译一次,永久执行 (3)不需要提供源代码,只用提供可执行文件就可以执行程序 | (1)执行时才会判断是否有错,如果一句出错,不影响其执行下一句 (2)运行时需要源代码 | (1)由文本储存,可以直接运行。 (2)脚本语言不需要编译,可以直接用 (3)由解释器来负责解释 |
编译语言 | 强类型(必须指明数据类型) | 弱类型 | |
典型代表语言 | C、C++、C# | Html、JavaScript、Python | Python |
优缺点 | 执行效率高,编译之后程序不能修改,保密性好,运行速度快 | 跨平台 | |
可移植性差,不能跨平台 | 运行效率低,知识产权保护性差 |