计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。

     翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高。 
    
     解释则不同,解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,比如解释性basic语言,专门有一个解释器能够直接执行basic程序,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。 
    
     编译性语言:   C   c#   vb   delphi  
     解释性语言:   asp   vbscript   javascript   
     编译性语言:   以二进制形式保存   不可见源代码  
     解释性语言:   以代码形式保存   可见原代码
    
     java很特殊,java程序也需要编译,但是没有直接编译称为机器语言,而是编译称为字节码,然后用解释方式执行字节码。 先看一下java程序的运行过程,程序运行时先将.java文件通过编译器编译成字节码文件(.class文件),然后java虚拟机将.class文件进行解释,进而执行。最新的JAVA将使用JIT技术吧,所以JAVA是   编译+解释+编译   性语言
    
     编译性语言执行较快,解释性语言相对慢。

转载于:https://blog.51cto.com/2200058/397599

解惑解释性语言与编译性语言相关推荐

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

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

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

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

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

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

  4. 解析性语言与编译性语言优劣对比

    高级编程语言分为解析语言和编译性语言,各自代表有Js,python 以及c/c++,golang等,java某种意义上说既是解析语言也是编译性语言. 以下是解析语言与编译性语言的一些优劣对比: 1:效 ...

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

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

  6. 解释性的语言vs编译性语言

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

  7. python\java\c\解释性语言\编译性语言 程序执行过程

    c时纯粹的编译性语言,执行过程如下图: 可以看出c是通过预处理器.编译器.汇编器和链接器生成可执行的二进制目标文件,然后直接运行(编译性语言的本质).  Java和python是解释性语言,但并不是纯 ...

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

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

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

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

最新文章

  1. CCNA实验之--三层交换
  2. c++ 获取linux系统信息_linux系统c程序移植
  3. windbg调试HEAP
  4. 力扣62-不同路径(C++,留个思路)
  5. jQuery 对象与Dom 对象互转
  6. Pandas 文本数据方法 slice( )
  7. 剑指offer面试题[54]-表示数值的字符串
  8. python模块基础之OS模块
  9. 为什么不算法?常用算法概要大纲!
  10. day15-CSS内容补充之overflow
  11. 计算机如何清理c盘,C盘清理,教您怎么给电脑C盘进行清理
  12. 基于html的火柴人羽毛球网页游戏设计
  13. 422串口线互连的接法
  14. 用css做一个梦幻西游动画特效
  15. 投资理财-曾经一起投资理财的朋友们
  16. 1.2_CentOS 7 终端系统识别挂载 USB 的 NTFS 分区
  17. ORA-20005: object statistics are locked (stattype = ALL)
  18. 如何下载完整的ie6sp1
  19. 虚拟团队四大管理技巧
  20. 只有安卓系统的浏览器提示证书不受信任的问题 ----- 证书链不完整的解决办法

热门文章

  1. OpenCV探索之路(八):重映射与仿射变换
  2. java---switch
  3. POJ 1091 跳蚤
  4. 一种在MVC3框架里面设置模板页的方法,不使用_ViewStart
  5. Notepad++ NppExport: 让你在Microsoft word 中粘贴语法高亮代码
  6. 基于tomcat5.5的数据库连接池环境设置
  7. PMCAFF今天摆地摊了,然后……
  8. “向前进,向钱进”上:自媒体的流量变现路
  9. 产品经理如何专业吐槽产品?友谊小船从此不再翻
  10. 老板请吃饭 | 李笑来约你聊聊垂直社区的产品和运营