美文网首页
什么是编译型语言和解释型语言?

什么是编译型语言和解释型语言?

作者: taj3991 | 来源:发表于2020-02-19 17:14 被阅读0次

首先什么是编译型语言和解释型语言?

计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,所以使用任何高级语言编写的程序若想被计算机运行,都必须将其转换成计算机语言,也就是机器码。

计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,所以使用任何高级语言编写的程序若想被计算机运行,都必须将其转换成计算机语言,也就是机器码。而这种转换的方式有两种:

  • 1.编译
  • 2.解释

由此高级语言也分为编译型语言和解释型语言。

主要区别在于,前者源程序编译后即可在该平台运行,后者是在运行期间才编译。所以前者运行速度快,后者跨平台性好。

编译型语言

使用专门的编译器,针对特定的平台,将高级语言源代码一次性的编译成可被该平台硬件执行的机器码,并包装成该平台所能识别的可执行性程序的格式。

特点

在编译型语言写的程序执行之前,需要一个专门的编译过程,把源代码编译成机器语言的文件,如exe格式的文件,以后要再运行时,直接使用编译结果即可,如直接运行exe文件。因为只需编译一次,以后运行时不需要编译,所以编译型语言执行效率高。

总结

  • 1.一次性的编译成平台相关的机器语言文件,运行时脱离开发环境,运行效率高;
  • 2.与特定平台相关,一般无法移植到其他平台;
  • 3.现有的C、C++、Objective等都属于编译型语言。

解释型语言

使用专门的解释器对源程序逐行解释成特定平台的机器码并立即执行。是代码在执行时才被解释器一行行动态翻译和执行,而不是在执行之前就完成翻译。

特点

解释型语言不需要事先编译,其直接将源代码解释成机器码并立即执行,所以只要某一平台提供了相应的解释器即可运行该程序。

总结

1.解释型语言每次运行都需要将源代码解释称机器码并执行,效率较低;
2.只要平台提供相应的解释器,就可以运行源代码,所以可以方便源程序移植;

编译型与解释型,两者各有利弊

前者由于程序执行速度快,同等条件下对系统要求较低,因此像开发操作系统、大型应用程序、数据库系统等时都采用它,像C/C++、Pascal/Object Pascal(Delphi)等都是编译语言,而一些网页脚本、服务器脚本及辅助开发接口这样的对速度要求不高、对不同系统平台间的兼容性有一定要求的程序则通常使用解释性语言,如Java、JavaScript、VBScript、Perl、Python、Ruby、MATLAB 等等。

关于java

Java和其他的语言不太一样。因为java针对不同的平台有不同的JVM,实现了跨平台。所以Java语言有一次编译到处运行的说法。

1.你可以说它是编译型的:因为所有的Java代码都是要编译的,.java不经过编译就什么用都没有。

2.你可以说它是解释型的: 因为java代码编译后不能直接运行,它是解释运行在JVM上的,所以它是解释运行的,那也就算是解释的了。

3.但是,现在的JVM为了效率,都有一些JIT优化。它又会把.class的二进制代码编译为本地的代码直接运行,所以,又是编译的。

个人认为,java是解释型的语言,因为虽然java也需要编译,编译成.class文件,但是并不是机器可以识别的语言,而是字节码,最终还是需要 jvm的解释,才能在各个平台执行,这同时也是java跨平台的原因。所以可是说java即是编译型的,也是解释型,但是假如非要归类的话,从概念上的定义,恐怕java应该归到解释型的语言中。

编译型的语言包括:C、C++、Delphi、Pascal、Fortran
解释型的语言包括:Java、Basic、javascript、python

原文

https://www.jianshu.com/p/54e2aeca013b

相关文章

  • js设计原理

    js是解释型语言 语言分编译型和解释型语言 解释器和编译器

  • JavaScript之解释型语言与编译型语言

    概览 JavaScript是一门解释型的编译语言。 内容 解释型语言 vs 编译型语言 解释型语言与编译型语言的本...

  • 编译型语言和解释型语言区别之我见

    但凡学习编程,总会碰到这个看似清晰实质又模糊的概念:编译型&解释型。 那么到底什么是编译型语言,什么是解释型语言呢...

  • python面试答题笔录

    1.简述解释型和编译型编程语言 解释型语言是指逐行读取解释代码,不用进行编译,它们有专门的解释型工具,python...

  • 解释型语言和编译型语言的区别

    转载自:解释型语言和编译型语言的区别 解释型语言和编译型语言的区别 首先,我们编程都是用的高级语言(写汇编和机器语...

  • 菜鸟Python(1)

    Python 是解释型语言 java 是编译型语言 解释型语言,发布相当等于公布源码. 解释型语言,运行时间长 编...

  • 编译型语言和解释型语言

    编译型语言和解释型语言是相对存在的。 编译型语言: 与汇编语言类似,编译型语言的首先将源代码编译生成机器语言,再由...

  • 编程语言

    编译型语言和解释型语言 高级语言—>机器语言(必须经过翻译)翻译的方式有两种:编译和解释 编译型语言是把代码直接翻...

  • JavaScript编译原理与内存管理

    编译原理 编译还是解释? 编程语言分为编译型语言和解释型语言两种,编译型语言的源代码在执行之前要进行完全编译,例如...

  • V8 工作原理

    编译器和解释器 按语言的执行流程,可以把语言划分为编译型语言和解释型语言。 编译型语言在程序执行之前,需要经过编译...

网友评论

      本文标题:什么是编译型语言和解释型语言?

      本文链接:https://www.haomeiwen.com/subject/ymgafhtx.html