程序语言中编译,解释,编辑的区别

我想知道编译就是将程序语言,翻译成计算机能够识别的机器语言,便产生目标程序,而编辑就是代码编写,解释就是将编译好的目标程序进行运行,我这样理解对吗,如果不是那是怎么回事的,谢谢大家解释清楚点,谢谢了

首先说编辑,这个一般指的是编辑高级语言代码,也就人能够看懂的计算机语言,如JAVA,C,C#等等,总之就是人通过学习语法规则就能够理解其逻辑过程的语言都算高级语言。编辑就是指的编写这样的代码。
我们知道,计算机是无法读懂高级语言的,那么就需要编译器把高级语言转换成计算机可以运行的机器语言,就是一般的0101010001的二进制代码。
高级语言翻译为计算机能读懂的机器语言的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。程序执行之前,需要一个专门的编译过程(跟计算机语言的种类有关,比如C就是这样),把程序编译成为机器语言的文件,比如WINDIOWS系统下的exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件)。
解释则不同,这类语言写的程序不需要编译(比如PHP),省了这道工序,语言在运行程序的时候才翻译,比如解释性php语言,专门有一个解释器能够直接执行php程序,每个语句都是执行的时候才翻译,然后给计算机执行。
那么为什么要分为了两种呢,因为编译型语言一经编辑,其对系统的要求就定死了,比如平台,硬件类型等,已经编译为机器代码了,就只能在同类机器上运行。同时因为其只编译一次,执行时不需要编译,所以一般效率高。
解释型的就不同,由于语言是在执行时被翻译的,所以解释器能够根据当前的系统平台,硬件情况实时生成机器语言用于运行,所以,其从一个系统移植到另一个系统就很容易。但是一般的,因为他每次运行都要翻译,所以一般效率较低。
关于他们的效率不一定的,有一些的解释型的语言运行效率不比编译型的低,因为他实时的对语言进行优化,提升了运行效率,主要看解释器的性能有多强。
还有一点就是编译型语言适合大量的复制进行商业活动,因为一旦编译成机器语言,人就看不懂了。所以代码泄露的可能很低,而解释型的,复制时需要直接复制源代码(既高级语言)这样获得的人都能查看其源代码并通过编辑器修改,这样是不利于版权,技术的保护的。
大致上就是这样。
温馨提示:答案为网友推荐,仅供参考
相似回答