编译性语言和解释性语言的区别-创新互联

啊~开始之前,我们需要先了解什么是编译性语言,什么是解释性语言。

为海宁等地区用户提供了全套网页设计制作服务,及海宁网站建设行业解决方案。主营业务为成都网站设计、成都做网站、海宁网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

编译性语言:如C/C++,(其实还有Delphi,Pascal,Fortran,由于C/C++更常用,这就单拿这个语言说了。)编译性语言在程序执行之前,有一个独立的编译过程,将程序翻译成机器码并储存,以后执行程序不会进行翻译。

解释性语言:如java,python,C#,JavaScript等,解释性语言是在程序执行时进行翻译,执行时间相对于编译性语言较慢。

编译性语言只会使用特定的编译器将当前高级语言翻译成特定平台的机器码,并编译成可以被当前平台识别的可执行程序的格式。

比如我在Windows平台上写了个C++程序,那么我就可以先编译出一个.exe文件,在Windows平台上执行,下次再想执行就能直接执行这个.exe文件,不需要再次编译,但是前文提到了,编译性语言只会在特定的编译器翻译成特定的机器码,也就是说,编译出来的可执行文件只能在当前的平台执行,不能跨平台。

总结:编译性语言一次性通过特定编译器直接编译成当前平台可以执行的机器码,运行时脱离开发环境,运行速度快。

不能跨平台,不同可执行文件与不同的平台相关,无法直接移植到其他平台。

而解释性语言,不需要事先编译,而是将源代码通过解释器解释成机器码并执行,执行效率较低。

由于解释性语言走的是解释器,源码还是那个源码,只需要提供不同平台上的解释器,就可以在不同的平台上执行,方便程序移植。

拿java来说,java这个语言有点奇怪,你可以说它是编译性的,也可以说它是解释性的,说它是编译性的,是因为在程序执行之前,会将.java文件翻译为.class字节码文件,不经过编译.java文件就是个源码文件。

说它是解释性的,是因为.class文件不能直接用,而是放进JVM解释器里进行执行。由于最后还是得经过解释器,所以开头的分类我将它分进了解释性语言。

总结:解释性语言需要走解释器。

解释性语言跨平台没有固定的平台限制,只要有解释器就能执行。

差别就是:前者储存机器码,可复用,后者不储存机器码,每次执行都得走解释器;前者编译一次只能在当前平台执行,后者不分平台,只要有解释器就能执行;前者编译后执行,后者边解释边执行。

两者各有利弊,前者在同等条件下对设备要求较低,多用于大型程序,操作系统和数据库系统开发,后者不注重速度,对不同平台执行有一定的要求,多用于服务器脚本,网页脚本,API接口开发等。

参考文章:https://blog.csdn.net/u012184539/article/details/81348780

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网站栏目:编译性语言和解释性语言的区别-创新互联
网页URL:http://hbruida.cn/article/pjoei.html