- 浏览: 140170 次
- 性别:
- 来自: 汕尾
文章分类
最新评论
解释性语言和编译性语言的区别
- 博客分类:
- 技术
计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。
翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。
编译性语言
编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高。
解释性语言
解释则不同,解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,比如解释性java语言,专门有一个解释器能够直接执行java程序,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。
脚本语言
脚本语言是解释性语言。脚本语言一般都有相应的脚本引擎来解释执行。它们一般需要解释器才能运行。所以只要系统上有相应语言的解释程序就可以做到跨平台。脚本语言是一种解释性的语言,例如vbscript,javascript,installshield script等等,它不象c\c++等可以编译成二进制代码,以可执行文件的形式存在。
JAVA语言
java语言是解释性语言。java很特殊,java程序也需要编译,但是没有直接编译称为机器语言,而是编译称为字节码,然后用解释方式执行字节码。Java既可以被编译,也可以被解释。通过编译器,可以把Java程序翻译成一种中间代码 - 称为字节码 - 可以被Java解释器解释的独立于平台的代码。通过解释器,每条Java字节指令被分析,然后在计算机上运行。只需编译一次,程序运行时解释执行。
Java字节码使“写一次,到处运行”成为可能。可以在任何有Java编译器的平台上把Java程序编译成字节码。这个字节码可以运行在任何Java VM上。例如,同一个Java程序可以运行在WindowsNT、Solaris和Macintosh上。
编译器与解释器的区别
编译型与解释型,两者各有利弊。前者由于程序执行速度快,同等条件下对系统要求较低,因此像开发操作系统、大型应用程序、数据库系统等时都采用它,像C/C++、Pascal/Object Pascal(Delphi)等都是编译语言,而一些网页脚本、服务器脚本及辅助开发接口这样的对速度要求不高、对不同系统平台间的兼容性有一定要求的程序则通常使用解释性语言,如Java、JavaScript、VBScript、Perl、Python、Ruby、MATLAB 等等。
编译性语言 不如解释性语言跨平台性好?
编译性语言例如c语言:用c语言开发了程序后,需要通过编译器把程序编译成机器语言(即计算机识别的二进制文件,因为不同的操作系统计算机识别的二进制文件是不同的),所以c语言程序进行移植后,要重新编译。(如windows编译成ext文件,linux编译成erp文件)。
解释性语言,例如java语言,java程序首先通过编译器编译成class文件,如果在windows平台上运行,则通过windows平台上的java虚拟机(VM)进行解释。如果运行在linux平台上,则通过linux平台上的java虚拟机进行解释执行。所以说能跨平台,前提是平台上必须要有相匹配的java虚拟机。如果没有java虚拟机,则不能进行跨平台。
发表评论
-
终于能拿到私活的第一笔款了
2012-05-25 07:22 791用两周的时间全力做了一套酒店门户网站,包括后台管理网站和最 ... -
.net 隐式转换和显式转换
2012-05-11 07:15 7141.隐式转换:(String不能隐式转换为int) int ... -
.net身份验证机制
2012-05-10 22:47 6511.Windows 依赖于iis提供的验证方式,匿名、基本身 ... -
.net 并发控制方式
2012-05-10 22:35 10671.保守式并发控制 独占式处理,数据在完成更新完成之后才解锁 ... -
String、StringBuffer、StringBuilder的区别
2012-05-10 22:20 6781.String是字符串常量;StringBuffer、Str ... -
对主管的判断
2012-05-03 22:57 618一个个的诺言,不能实现,慢慢地让我对这个主管失去信心,4月 ... -
成熟的标志
2012-04-22 23:14 632一:沉稳(1)不要随便显露你的情绪。 没做到(2)不要逢人就诉 ... -
机会?陷阱?
2012-04-22 23:12 584主管想带我跳槽,提供比现在翻倍的工资,但却打乱了原先的计 ... -
每日总结20120415(周日)
2012-04-15 21:54 688前面的总结终于慢慢地发挥作用了,现在已经基本上了解自己的工作 ... -
每日总结20120410
2012-04-10 23:33 727今天学车,我是第一个上车了,第一次就把车踩熄火了,悲催。关 ... -
每日总结20120409
2012-04-09 22:22 614尝试了一下去见见一些老同学,发现了很多新的东西,人确实是一 ... -
每日总结20120406
2012-04-06 23:01 556今天虽然排除不了外界的干扰,但思路清晰的做事情,让我至少维 ... -
每日总结20120405
2012-04-05 22:39 612今天用做一个签核组织功能模块,分别预测自己能用15分钟做 ... -
每天一个小时听写英语
2012-04-05 20:59 904第一个目标:能一句句的听写读出听到的英文。 -
现有技能水平
2012-04-04 23:56 449.net:初级,能看懂和利用别人的框架,改改贴贴,根据需要添 ... -
不抱怨,说到做到
2012-04-04 23:31 506没出息的人只会抱怨现实或其他人其他条件对自己的不公,实现不 ... -
要在一个领域取得成就,就必须有对该领域的独特的执着
2012-04-03 23:34 915做什么事情都三分钟热度,永远都没有办法学精。对语言的感情, ... -
从来没有那么渴望顶端的风景过
2012-03-29 22:08 598平庸太无趣了,只有爬得更高才能看到更多的乐趣,体验到更多 ... -
思路一定要清晰
2012-03-26 23:21 512今天过了理论考试,把然后把项目要好好地测试了一下,发现了 ... -
干扰万恶的干扰
2012-03-24 21:46 547今天确实全力以赴的加班了,却还是被同事干扰了干扰去,最终 ...
相关推荐
编译性语言、解释性语言和脚本语言 编译性语言、解释性语言和脚本语言
Python是一种解释性语言:没有编译这个环节 Python是交互式语言:可以在一个 Python 提示符 >>> 后直接执行代码 Python是面向对象语言:支持面向对象的风格或代码封装在对象的编程技术 Python 是初学者的语言:支持...
本书系统介绍了经典的编译理论和技术,同时也包含了面向对象语言等当前较新语言的编译技术。本书更可贵之处在于提供了较完整的适用于教学实践的样例语言,是一本理论和实践内容相结合的、不可多得的好书。本书以类c...
Python 本身也是由诸多其他语言发展而来的,这包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell 和其他的脚本语言等等。 像 Perl 语言一样,Python 源代码同样遵循 GPL(GNU General Public License)...
张素琴老师编写的第二版,中英文课件全套 第1章 引论 ...15.2.3 语言编译论的面向对象论域分析 15.3面向对象编译程序的符号表构造 练习 附录A PL、0编译程序文本 A.1 Pascal版本 A.2 C版本 参考文献
它综合了解释性语言与编译语言的众多优点,使其执行效率较以往的程序设计语言有了大幅度的提高。 Java源程序经过编译器编译,会被转换成一种我们将它称之为“字节码(byte_codes)”的目标程序。“字节码”的最大...
通常的说法,编译代表着将一个高级语言转化为 CPU 能执行的机器码。当你编译 C 的时候,的确是做的这样的操作。编译的结果是一个二进制可执行文件,这时你的系统可直接运行这个程序。 与此相对的,解释的意思是这样...
它是快速的、静态类型编译语言,但是感觉上是动态类型的,解释型语言。 《go语言中文教程及手册》包含了语言结构、基础语法、数据类型、语言变量、语言常量以及运算符等内容的介绍,可以让你快速进阶为go语言编程...
Python是编译型语言还是解释型语言?回答这个问题前,应该先弄清楚什么是编译型语言,什么是解释型语言。 所谓编译执行就是源代码经过编译器编译处理,生成目标机器码,就是机器能直接运行的二进制代码,下次运行时...
Python是一种解释性语言,不需要编译过程,可以直接运行。这使得开发过程更加简单快捷,同时也方便了跨平台的开发和部署。 总而言之,Python语言简洁易读、功能强大、适用范围广泛,因此被广泛应用于各种领域的软件...
编译原理实验三 一、讨论Oberon-0 语言的特点 1、保留字与关键字的概念区分 保留字只要是用在程序语言的层次架构用途上,比如说IF,THEN,ELSIF,用在程序 的循环、分支、判断条件、程序块等组织上,它是程序语言中...
Python语法知识总结。Python是由荷兰程序员吉多在1991年开发完成,是一门解释性语言,解释性语言相比编译性语言速度慢,但跨平台好。
python并非完全是解释性语言,它是有编译的,先把源码py文件编译成pyc或者pyo,然后由python的虚拟机执行,相对于py文件来说,编译成pyc和pyo本质上和py没有太大区别,只是对于这个模块的加载速度提高了,并没有...
D语言(Dlang)是由Digital Mars公司开发的编程语言,起因是为了改进C++。它与C二进制兼容(不完全),可编译为本地码,有GC...D 从那些语言(主要是 C++ )那里获得了灵感,并使用经验和现实世界中的实用性来驯服它。
Python语言是一门解释性语言,它在运行代码时不需要编译先将代码转变为机器码,直接执行源代码就可以得到结果。这使得开发者能够更加容易地编写和测试代码。 Python的语法简单易懂,并且代码可读性好,其对缩进的...
Tcl语言是一个解释性语言,所谓解释性是指不象其他高级语言需要通过编译和联结,它象其他shell语言一样,直接对每条语句顺次解释执行。 Tcl数据类型简单。对Tcl来说,它要处理的数据只有一种——字符串。Tcl将变量值...
这使它比解释性语言如Python更快,但也意味着必须为每个平台编译代码。虽然C++提供了对硬件更大的控制权,但在C++中编写代码可能比其他语言更复杂。 C++有一个陡峭的学习曲线,开发人员需要熟练才能编写正确的代码。...
程序设计语言的执行方式 n 编译型语言:将源代码一次性转换成目 标代码,执行编译过程的程序叫编译器。 如C/C++、Java语言等。 程序设计语言的执行方式 n 解释型语言:将源代码逐条转换成目标 代码同时逐条运行,...
- 语言处理领域的研究者:此项目可以作为自然语言处理和编译技术的一个研究起点。 ### 额外建议: - 从一个简单的语言子集开始,逐步增加支持的语法和语义特性。 - 使用单元测试和集成测试来验证分析器的正确性。 - ...
程序设计 一、选择题 1. 有关算法的描述,下列【 】选项是不正确的。 A 算法有优劣之分 B 算法是为了实现某个任务采取的方法和步骤 C 实现某个任务的算法具有...30. 【 】是过程性语言。 A Java语言 B C++语言 C Fort