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

编译性语言和解释性语言的区别?

笔试:

编译型语言:

只需编译一次就可以把源代码编译成机器语言,以后的执行无序重新编译,直接使用之前的编译效果,因此其执行效率比较高。

目前常见的变异性语言:Pascal(结构化编程语言),C,C++;

程序的执行效率比较高,但比较依赖编译器,因此跨平台性差一些,

解释型语言:

源代码不能直接编译成机器语言,而是先翻译成中间代码,再有解释器对中间代码进行解释运行,

// 源代码->中间代码->机器语言

程序不需要编译,程序运行时才翻译成机器语言,每执行一次都要翻译一次。

目前常见的解释性语言:Python,JavaScrip,Shell,

运行效率一般相对比较低,依赖解释器,跨平台性好

面试:
相同:这两种语言最终都是要转换成机器语言,

不同点:

执行效率不同。

编译过程不同

跨平台性不同

扩展:
Java这个语言到底是编译性语言,还是解释性语言,

对于这个问题,网上是众说纷纭;有人说是编译性语言,也有人说是解释性语言。但是个人觉得正如一位网友所说的那样,解释性或编译性和语言本身是没有关系的,即解释性或编译性可以看作是一种语言的状态;

  • java语言应是编译性-解释性语言,因为其同时具备编译性和解释性两种特性;
java文件先编译成与平台无关的.class的字节码文件,然后.class的字节码文件既可以在Windows平台上的java虚拟机(JVM)上进行解释运行,也可以在Linux平台上的JVM上解释运行;而JVM的翻译过程时解释性的,JVM从.class的字节码文件中读出一条指令,翻译一条指令,然后执行一条指令,这个过程就称为java的解释执行;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值