学员注册/登录

《奥鹏教育隐私协议》,

且认同奥鹏教育以电话、短信或其他形式与您取得联系

模态层

解释型语言和编译型语言的区别

202         2024-02-04    奥鹏教育

解释型语言和编译型语言的区别:

1.从运行效果上来看。编译型语言要等全部写完后通过编译器去生成一个类似*.exe的二进制文件,然后双击这个文件才可以看到效果。

而解释型语言并没生成*.exe文件,而是直接生成效果,这就是我之前提到的的那个C语言和MATLAB的例子。

2.运行的时候是否需要编译器的伴随。编译型语言运行的是最终生成的二进制代码,所以不需要编译器伴随。

而解释型语言则一边解释一边运行,所以运行的时候很可能还有部分代码没有解释好,所以需要编译器伴随(解释型语言把该工具叫做解释器)。

有人会问编译器(解释器)在哪里呢?

举个例子,网页的解释器就在浏览器中,所以要看HTML的效果必须用浏览器或者有编译工具在内的其他工具打开,比如:模拟浏览器的工具。

3.执行的速度对比。编译型语言运行的已经是完全的二进制内容,运行起来十分干净利落,所以速度很快。

而解释型语言运行的不一定是完全的二进制内容,因为它是一边解释成二进制一边运行。

所以当它执行看出效果的时,程序后半部分还不一定解释成二进制,它就像一个“三心二意”的男人。所以像那种三心二意的男人说话有时吞吞吐吐的,速度没有前者快,但是CPU的运行速度如果很快,可能看不出来,只是偶尔会看到“有点卡”的效果。

原因就是它一边解释一边运行,你看到效果的后面可能还有一少半的代码没解释成二进制,所以看到的效果会是残缺的。这就是为什么有时候查看网页,先是出现一堆没有布局的文字,然后才出现那种布局好的效果。

4.可移植性对比。编译型语言是运行二进制内容,所以一旦CPU指令系统改变,那么之前的二进制文件可能运行不了。比如,如果到其他硬件平台上运行,就可能出现错误,就需要根据该平台重新编译出新的二进制文件。所以可移植性、平台兼容性比价差。

而解释型语言则没有弄成什么二进制内容,而是在需要的时候才开始编译、运行。所以它自然具有可移植性,即在任何平台都可以马上运行起来。

要注意的是它的解释工具如:浏览器,本身就是编译型语言解释出来的二进制代码,所以浏览器本身不具备可移植性,是需要针对不同的平台弄出对应的浏览器最终二进制文件的,这里可别混淆。

5.升级上对比。编译型语言弄出来的二进制文件若要升级,自然要重新下载一个新的二进制文件。所以重新下载、安装、覆盖是最大的特点。比如微信的升级,就是要重新下载、重新安装、重新覆盖,等个半天而且很耗费CPU资源,体验性就不大好。

而解释型的语言只要重新写好源代码即可,用户想要最新的效果,只要刷新一下即可,所以体验性好。比如:某网站平台升级了,用户只要重新刷新一下。

6.应用领域,编译型语言应用领域通常是那些安装软件,例如桌面上的安装软件。解释型的语言的应用领域通常是互联网、网站等那种刷新了一下就可以看到最新效果的领域。

解释型语言和编译型语言的区别.jpg

编译型语言的特点是:

源代码经过编译器转换为目标平台的机器码,这个过程是一次性的。

生成的可执行文件可以在任何安装了该语言的平台上独立运行,无需再次编译。

执行效率相对较高,因为它避免了在运行时重新编译的过程。

需要依赖于特定的编译器和操作系

有些编译型语言在执行时需要链接多个目标代码模块,以生成最终的程序。

解释型语言的特点是:

源代码在运行时被解释器逐行翻译成目标平台的机器码,然后执行。

每执行一次就需要翻译一次,因此效率较低。

通常不依赖于特定的编译器或操作系统,因为解释器可以在任何支持该语言的平台上游玩。

跨平台性好,只需提供相应的解释器即可。

简单来说,编译型语言在运行前进行了编译,而解释型语言则在运行时进行解释。编译型语言的程序一旦编译成功,就可以在任何支持的平台上运行,而解释型语言的程序则需要解释器的帮助才能执行。编译型语言的执行效率更高,而解释型语言更易于跨平台移植,尽管这会牺牲一定的执行效率

如还有其他困惑,可在线了解有关信息>>>了解python培训>>>

标签: 编译型语言 解释型语言 来源:https://www.iopen.com.cn/
 - 在线客服
  “ 欢迎访问奥鹏教育官网 ”
点击选择您要咨询的类型发起会话
学历提升
立即咨询
考研辅导
立即咨询
海外硕博
立即咨询
国际教育
立即咨询
职业技能
立即咨询
职业证书
立即咨询
执业药师
立即咨询
老生咨询
立即咨询
其他问题
立即咨询