编译器型语言与解释器型语言的区别

1,我门常见的

             编译型语言: C,C++,OC等.
             解释型语言:Java,Ruby等.
             脚本语言:Python,JS,PHP等

2,三者的差别在于:
(1)编译型要比解释型语言运行起来更快,这也是为什么我们做游戏开发时用C,C++,而不用Python等的原因.

eg:你要是做个枪战游戏跑的太慢的话,人都可以和子弹赛跑了,那还玩什么枪战啊?

(2)解释型语言是非独立的,且效率低(注意了,这里说的是解释型语言,你别看成了编译型的了!).而且编译型语言一般是直接可以转换为汇编语言的,但解释型语言是需要一个虚拟机一样的东西,才能转换为汇编语言.例如java中就需要JVM,来进行汇编语言的转换.

(3)二者编译时机制的区别:编译型是一次性把所有代码都给编译完,但解释型是你写一行代码它编译一行(当某一行出现错误时,会停止执行其他语句,并立即报错.这点与脚本语言有所不同).
所以说解释型语言跑起来会比较慢.但解释型语言有其最大的优点,就是它改错要比编译型语言编写的代码快很多.

eg:在过去写C的程序员,改一个小错误估计都得需要半天,因为编译型语言的特性是一次性把所有代码全进行编译,这就导致了你无法直观的看出是哪行代码出错了.
逐渐的解释型语言也就诞生了,因为它是你写一句就编译一句,所以你找错误可以直观的看到你是哪句出错了啊!

(4)脚本语言是一句一句执行的,你上一句的错误不一定会影响下一句的正常执行.

//这里的c并没有定义,因此程序执行时会在var b = c,这里报错.
var b = c;
var a = 2;
//结果仍为2,因为脚本语言是一句一句执行的,在var b = c这里发现错误时,
//会跳过该错误,正常执行下一句,直到执行完所有语句后,再报出该错误
console.log(a);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值