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

1、编译性语言

  • (1)只须编译一次就可以把源代码编译成机器语言,后面的执行无须重新编译,直接使用之前的编译结果就可以;因此其执行的效率比较高
  • (2)编译性语言代表:C、C++、Pascal/Object Pascal(Delphi);
  • (3)程序执行效率比较高,但比较依赖编译器,因此跨平台性差一些;

不同平台对编译器影响较大。 
如:

  • (1)16位系统下int是2个字节(16位),而32位系统下int占4个字节(32位);
  • (2)32位系统下long类型占4字节,而64位系统下long类型占8个字节;

2、解释性语言

  • (1)源代码不能直接翻译成机器语言,而是先翻译成中间代码,再由解释器对中间代码进行解释运行;

源代码—>中间代码—>机器语言

  • (2)程序不需要编译,程序在运行时才翻译成机器语言,每执行一次都要翻译一次;
  • (3)解释性语言代表:Python、JavaScript、Shell、Ruby、MATLAB等;
  • (4)运行效率一般相对比较低,依赖解释器,跨平台性好

3、比较

  • (1)一般,编译性语言的运行效率比解释性语言更;但是不能一概而论,部分解释性语言的解释器通过在运行时动态优化代码,甚至能使解释性语言的性能超过编译性语言;
  • (2)编译性语言的跨平台特性比解释性语言一些;

4、java是编译性语言还是解释性语言?

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

  • java语言应是编译性-解释性语言,因为其同时具备编译性和解释性两种特性;

java文件先编译成与平台无关的.class的字节码文件,然后.class的字节码文件既可以在Windows平台上的java虚拟机(JVM)上进行解释运行,也可以在Linux平台上的JVM上解释运行;而JVM的翻译过程时解释性的,JVM从.class的字节码文件中读出一条指令,翻译一条指令,然后执行一条指令,这个过程就称为java的解释执行

以上内容参考了一些网络资料,再加上了自己的一些总结和体会!如有错误,欢迎指正!谢谢!

编译性语言和解释性语言的区别相关推荐

  1. 数据分析学习笔记 —编译性语言和解释性语言区别

    Python -编译性语言和解释性语言区别 编译器与解释器 简单地说,编译器是一个程序,可以阅读以某一种语言(源语言)编写的程序,并把该程序翻译成一个等价的.用另一种语言(目标语言)编写的程序. 如果 ...

  2. 编译性语言、解释性语言和脚本语言

    什么是编译性语言.解释性语言和脚本语言 计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能值型高级语言编写的程序. 翻译的方式有两种,一个是编译,一个是解 ...

  3. Python语言是解释性语言还是编译性语言?

    1.Python语言是解释性语言还是编译性语言? Python语言是先编译再解释的语言.Python 在解释源程序时分为两步: 1:将源码转为字节码 2:将字节码转换为机器码 pyc 文件是由 Pyt ...

  4. 编译性语言、解释性语言和脚本语言的区别

    计算机是不能理解高级语言,当然也就不能直接执行高级语言了.计算机只能直接理解机器语言,所以任何语言,都必须将其翻译成机器语言,计算机才能运行高级语言编写的程序. 一.翻译和解释的不同 翻译的方式有两种 ...

  5. java是编译性语言,解释性语言

    看到一个对java的描述,恰好之前笔试也遇到的一个问题:**java是解释性语言还 是编译性语言**.书中对java的描述是这样的:java兼具编译性与解释性,java编译器会将java源码翻译成所谓 ...

  6. 编译性语言和解释性语言

    我们知道,任何编程语言编写的程序归根到底都是由底层机器的机器代码(01序列)执行的,无论是编译型语言还是解释型语言.而任何高级编程语言程序的源代码都是一个字符序列,这个字符序列到底层的01序列是通过编 ...

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

    解释性语言和编译性语言的区别 计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序. 翻译的方式有两种,一个是编译,一个是解释.两种方 ...

  8. 编译性语言解释性语言

    计算机是不能理解高级语言,当然也就不能直接执行高级语言了.计算机只能直接理解机器语言,所以任何语言,都必须将其翻译成机器语言.任何编程语言编写的程序归根到底都是由底层机器的机器代码(01序列)执行的, ...

  9. 解释性语言与编译性语言

    首先了解下计算机语言的发展,目前共经历四个时代,或许以后会出现5,6代语言 机器 汇编 高级 C++.Visual C++.Visual Basic .Delphi.Java等屏蔽了机器的细节,提高了 ...

最新文章

  1. 升维:ValueError: all the input arrays must have same number of dimensions,
  2. Intel主动管理技术用例-远程诊断、远程修复
  3. Weblogic反序列化漏洞补丁更新解决方案
  4. 通用SQL数据库查询语句精华使用简介
  5. WCHAR,CHAR,TCHAR的区别
  6. Oralce中备份,还原数据库
  7. 平安城市与智慧城市对接的关键要素
  8. Spring实战Day2
  9. 推销自己的海盗猫王运营商
  10. maya崩溃自动保存路径_xgen 分享在maya里制作头发失败经验
  11. 8 -- 深入使用Spring -- 4...3 AOP的基本概念
  12. Java链表的常用算法原理
  13. 东南大学计算机考研代码,东南大学代码_东南大学专业代码_2021东南大学招生代码,报考代码...
  14. python turtle 乌龟赛跑_童年听的龟兔赛跑的故事,我终于用100行Python实现了!
  15. android graphics2d,Graphics2D的drawString之不带颜色的字体
  16. 正方教务系统php登陆,正方教务管理系统最新版无条件注入GetShell | wooyun-2015-0122523| WooYun.org...
  17. Substrate是什么,为什么要选择Substrate
  18. 《父与子的编程之旅-与小卡特一起学python》第18章
  19. 2013年3月山东综合性网站及社区网站 综合影响力排名
  20. win7安装linux子系统,linux系统装win7系统安装教程【图文教程】

热门文章

  1. 数据结构与算法之亮灯的盏数
  2. VR全景的拍摄以及作用
  3. 妖怪屋 服务器维护中,《阴阳师:妖怪屋》4月21日维护更新公告
  4. 微信视频直播方案的搭建
  5. ncurses库意外失联引发的思考
  6. ncurses 方向键响应
  7. 虚拟机SSH服务启动 ,但是主机却连接不上
  8. 老鼠和奶酪【力扣2611】
  9. apex打不开/启动不了游戏/打开就闪退解决办法
  10. 解决电脑钉钉视频/腾讯会议会议无法旋转屏幕的问题