1、概述
编程语言按执行方式来划分,分为:编译和解释两种。在介绍两种方式的概念以前,先介绍如下几种概念:程序员
源代码:采用某种编程语言编写的计算机程序,人类可读,例如:res = 1 + 1;编程
目标代码:指计算机能够执行,但人类不可读(专家除外),例如一组由0和1组成的字符串。编程语言
而怎么把人类编写的程序,变成机器能够执行的目标代码呢? 这里就出现了程序执行的两种方式:编译和解释。优化
2、编译和解释的含义
编译:把源代码一次性转化为目标代码的过程,如图:操作系统
从图中能够看出:当程序员编写好程序,通过编译器翻译为目标代码,而后计算机就能够执行这段代码,并获取程序该有的输入,输出相应的结果。这就是编译过程。翻译
解释:将源代码逐条转换成目标代码同时逐条运行的过程,如图:blog
结合上图,解释的过程能够这样描述:将源代码根据代码行数和执行方式,逐条的提取源代码的内容,并逐条的转换为目标代码,同时逐条运行目标代码。在这个过程当中读取源代码和程序输入,并输出相应的结果,是经过解释器来完成的。ip
3、比较编译和解释两种执行方式
编译:一次性翻译,以后再也不须要源代码(相似英文翻译),能够直接使用目标代码运行程序。字符串
解释:每次程序运行都须要源代码参与(相似于实时同声翻译)。编译器
4、静态语言和脚本语言
一、概述
根据编译和解释这两种不一样的程序执行方式,能够把编程语言分为两类:静态语言和脚本语言。
二、定义
静态语言:使用编译执行的编程语言,如:C/C++、JAVA语言。
脚本语言:使用解释执行的编程语言,如:Python、JAVAScript、PHP语言。
三、比较
静态语言和脚本语言相比较,两者执行方式不一样,优点各不一样:
静态语言:编译器一次性生成目标代码,优化更充分,能够在生成目标代码的过程当中,运用更多的优化过程,使得产生的目标的代码的执行速度更快;
脚本语言:执行程序时须要源代码,维护更灵活,能够跨多个操做系统平台运行。