编译型语言 解释型语言 脚本语言的理解
来源:互联网 发布:python zipline 安装 编辑:程序博客网 时间:2024/04/28 11:09
计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。
把高级语言翻译成机器语言的两种方式:一种是编译,一种是解释。两种方式只是翻译的时间不通。
1.编译
编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高,但也不能一概而论,部分解释型语言的解释器通过在运行时动态优化代码,甚至能够使解释型语言的性能超过编译型语言。
最典型的例子就是C语言。
2.解释
解释则不同,解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,比如解释性basic语言,专门有一个解释器能够直接执行basic程序,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。解释是一句一句的翻译。
此外,随着Java等基于虚拟机的语言的兴起,我们又不能把语言纯粹地分成解释型和编译型这两种。
用Java来举例,Java首先是通过编译器编译成字节码文件,然后在运行时通过解释器给解释成机器文件。所以我们说Java是一种先编译后解释的语言。
再换成C#,C#首先是通过编译器将C#文件编译成IL文件,然后在通过CLR将IL文件编译成机器文件。所以我们说C#是一门纯编译语言,但是C#是一门需要二次编译的语言。同理也可等效运用到基于.NET平台上的其他语言。
脚本语言
脚本语言是一种解释性的语言
脚本语言又被称为扩建的语言,或者动态语言,脚本语言不需要编译,可以直接用,由解释器来负责解释。
脚本语言一般都是以文本形式存在,类似于一种命令.
举个例子说,如果你建立了一个程序,叫aaa.exe,可以打开.aa为扩展名的文件.
你为.aa文件的编写指定了一套规则(语法),当别人编写了.aa文件后,你的程序用这种规则来理解编写人的意图,并作出回应.那么,这一套规则就是脚本语言
解释型语言是不是完全等同于脚本语言?
何为解释型语言?典型的是java,凡是运行java作的程序都得装个虚拟机(jre),这个jre就是解释器。脚本,我比较熟悉的是perl,也是典型的解释型语言。但是显然java不是脚本语言,脚本语言的特征主要有无类型、无内存管理等等,功能较弱,但是使用方便。
- 编译型语言 解释型语言 脚本语言的理解
- 编译型语言、解释型语言、脚本语言的区别
- 编译型语言,解释型语言和脚本语言的对比
- 编译型语言&解释型语言&混合型语言&脚本语言
- 编译型语言&解释型语言&混合型语言&脚本语言
- 编译型语言&解释型语言&混合型语言&脚本语言
- 计算机编程语言的分类,解释型语言、编译型语言、脚本语言的关系
- 计算机编程语言的分类,解释型语言、编译型语言、脚本语言的关系
- 计算机编程语言的分类,解释型语言、编译型语言、脚本语言的关系
- 编译语言,解释语言,脚本语言, 标记语言
- 编译语言、解释语言与脚本语言之间的区别
- 编译语言、解释语言与脚本语言之间的区别
- 编译语言、解释语言与脚本语言之间的区别
- 脚本语言与编译型语言
- 静态语言和动态语言异同,解释型语言、动态语言、脚本语言的关系
- 编译性语言、解释性语言和脚本语言的理解
- 编译型语言、解释型语言与脚本语言三大类型详解
- Shell脚本语言与编译型语言的差异
- sql注入天书
- OpenCV从入门到放弃(七):直方图那些事儿
- HDU 5881 Tea(贪心构造)
- 解决低版本浏览器无法给select设置padding?
- 多进程编程之进程间通信-共享内存,信号量和套接字
- 编译型语言 解释型语言 脚本语言的理解
- I2C驱动程序
- web storage下的session storage和local storage
- HTTP 400/401/403/404/500网页错误代码是什么意思
- IEC61850笔记--开源代码libIEC61850(一)
- 温故知新(三):PHP运算符 下
- UCOSIII相关API函数的使用
- SQL——SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
- android 5.0以上版本dialog无法填满屏幕