编译型语言和解释型语言概念及其区别
编译型语言代表有:C语言,C++、Object-C以及最近很火的苹果新语言swift
通常都会对源代码进行编译,生成可以执行的二进制代码,执行的是编译后的结果;
解释型语言代表有:JavaScript、Python、Erlang、PHP、Perl**、Ruby**
通常不用对源代码进行编译,一般是通过解释器载入脚本后运行。由于每个语句都是执行的时候才进行解释翻译,这样解释性语言每次执行就要翻译一次,效率相对要低。
Java具有编译与解释两种特性:既可以将其源代码当作脚本执行,也可以进行编译成.class代码(字节码)载入运行
对比
编译型语言:
优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。可以脱离语言环境独立运行。
缺点:编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,不同的操作系统之间移植就会有问题,需要根据运行的操作系统环境编译不同的可执行文件。
解释型语言
优点:有良好的平台兼容性,在任何环境中都可以运行,前提