编译性语言、解释性语言和脚本语言的区别

来源:互联网 发布:python 矩阵 查看 编辑:程序博客网 时间:2024/05/18 03:33
计算机是不能理解高级语言,当然也就不能直接执行高级语言了。计算机只能直接理解机器语言,所以任何语言,都必须将其翻译成机器语言,计算机才能运行高级语言编写的程序。 一、翻译和解释的不同
翻译的方式有两种,一个是编译,一个是解释。
两种方式只是翻译的时间不同。编译型语言写的程序在被执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高。
解释则不同,解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,比如解释性basic语言,专门有一个解释器能够直接执行basic程序,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。
二、脚本语言
①脚本语言(JavaScript,VBscript等)介于HTML和C,C++,Java,C#等编程语言之间
HTML通常用于格式化和链结文本。而编程语言通常用于向机器发出一系列复杂的指令。
②脚本语言与编程语言也有很多相似地方,其函数与编程语言比较相象一些,其也涉及到变量。与编程语言之间最大的区别是编程语言的语法和规则更为严格和复杂一些。
③与程序代码的关系:脚本也是一种语言,其同样由程序代码组成
注:脚本语言一般都有相应的脚本引擎来解释执行。 他们一般需要解释器才能运行。JAVASCRIPT,ASP,PHP,PERL都是脚本语言。C/C++编译、链接后,可形成独立执行的exe文件。
脚本语言是一种解释性的语言
例如vbscript,javascript,installshield script等等,它不象c/c++等可以编译成二进制代码,以可执行文件的形式存在。脚本语言不需要编译,可以直接用,由解释器来负责解释,不过每次都需要翻译,执行速度慢。
⑤脚本语言一般都是以文本形式存在,类似于一种命令
举个例子说,如果你建立了一个程序,叫aaa.exe,可以打开.js为扩展名的文件。
你为.js文件的编写指定了一套规则(语法),当别人编写了.js文件后,你的程序用这种规则来理解编写人的意图,并作出回应.那么,这一套规则就是脚本语言。
以上博客内容转载自 http://www.cnblogs.com/wvvv/p/5227318.html
下面谈一下我对我对脚本语言和编译性语言的理解,只是些许感悟,不足之处希望大家指正。
编译性语言
Java、C、C++都是编译性语言,以前学习Java的时候,知道因为JVM的原因,Java具有一处编译,处处运行的特点,可移植性很强。而C和C++在转换运行环境时,却需要重新编译。当时尽管知道语言特点,但却不是很了解该特点实现的原理。现在想来,Java之所以具有可移植性,想来是因为多了JVM这样一个类似于代理的工具,因为每台机器上的JVM都是相同的,所以Java编译好的.class文件,才可以处处运行。而C和C++却要根据不同的机器,将程序编译成该机器识别的字节码文件。
脚本语言
脚本语言具有解释性语言的特色,因为服务器上的前台代码要想在各类型客户端浏览器上运行,则必须适应各浏览器JS引擎,各主流浏览器的JS引擎各不相同(想一想上世纪的浏览器大战,简直是前台的黑暗纪元),更不用说还有一些小浏览器,因此脚本语言使用编译性语言是很不现实的,只好使用解释性语言,从而使前台代码可以在各浏览器上显示出来。
0 0