解释性语言与编译性语言

来源:互联网 发布:微软人工智能小冰 编辑:程序博客网 时间:2024/05/17 06:39

首先了解下计算机语言的发展,目前共经历四个时代,或许以后会出现5,6代语言

 

1.机器

2.汇编

3.高级

C++、Visual C++、Visual Basic 、Delphi、Java等屏蔽了机器的细节,提高了语言的抽象

4.结构化(面向对象)

SQL是一个典型的结构化语言

 

虽然语言已经发展到了第四代,但是计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把其他语言翻译成机器语言,计算机才能执行其他语言编写的程序。

 

说道翻译,就有两种方式分别为:编译性语言和解释性语言.

 

编译性语言:是在程序运行前,需要专门的一个编译过程,如生成exehex文件等特定的机器语言文件。(必须在特定系统上)。所以以后就可以直接运行,不用在进行编译了。但该文件不能夸操作系统系统平台,因为该文件在不同操作系统中是

不识别的。

 

解释性语言:不需要解释,是在程序执行的时候,运行一行翻译一行。所以每次执行都要进行解释。

 

两者的本质区别

1运行的时间不同:


编译性语言是在程序运行前进行编译

解释性语言在程序运行时进行解释

 

2可移植性:

编译性语言只能在特定机器上运行,不可移植

解释性语言可实现跨平台操作

 

详解:

解释性语言屏蔽了操作系统的差异,可以实现一次编译可在(如:生成类文件,java中的class)各种操作系统上运行。主要

原因是因为自身提供了操作系统翻译的接口(如java的虚拟机机制)这样就可以运用自身的虚拟机进行解释,最后调用操作

系统的平台翻译成二进制文件。相对的解释性语言有 javaJavaScript等。 编译性语言只一次编译,可重复使用,但是只能在系统上,运行效率相对较高。相应的编译性语言有 vb c++c。

 

0 0
原创粉丝点击