在计算机编程语言中,可以将编程语言分为静态语言和脚本语言两类,这两类编程语言最主要的区别是执行方式的不同。想要区分静态语言和脚本语言的区别,首先需要区分编译和解释。
编译和解释
编译是指将源代码一次性转换为目标代码的过程,指的是一次性编译,之后就不再需要源代码。编译过程的执行过程如下图所示:
解释是指将源代码逐条转换为目标代码同时执行的过程,每次运行的时候同时会进行翻译。解释的过程如下所示:
编译器和解释器的区别
编译器是将源代码翻译为低级语言的程序,编译器将源程序每一条语句都翻译为机器语言,并且保存为二进制文件,这样计算机可以直接执行可以识别的机器语言,并且执行速度较快。而解释器直接执行用编程语言编写的指令的程序,执行程序时是一条一条的解释为机器语言让计算机来执行,此时运行速度就比较慢。
静态语言和脚本语言
静态语言是指使用编译执行的语言,其中编译器将源代码一次性转换为机器语言再执行。其中为静态语言的编程语言有C/C++、Java语言等。
脚本语言是指使用解释执行的语言,脚本语言是解释器直接执行源代码,逐条产生结果。其中为脚本语言的编程语言有PHP、Python、JavaScript、Matlab等。
将静态语言和脚本语言之间进行比较,它们也具有各自的优缺点。静态语言一次性生成目标代码,执行的速度更快,规则性较强,可以编写出简介美观的代码;但是静态语言的缺点就是一旦编辑完成并且运行的时候,就不能更改代码,同时成本较高。而脚本语言的优点就是易于学习,维护起更加灵活;但是脚本语言的缺点就是语法较为散漫,缺乏系统性,并且通用性比较差,执行的速度较慢等。