解释型语言与编译型语言的对比

所谓的编译型语言是指源文件必须得先编译成编译文件才能在目标机器上执行,如C、C++等,好处是性能好,因为在执行时少了编译这个步骤,但坏处是无法跨平台执行,因为编译文件和具体平台相关。

所谓的解释性语言是指源文件可以直接执行,边执行边编译,如python,ruby等,好处是可以跨平台,因为源文件和具体平台无关,而坏处是边编译对执行时性能有影响。

Java比较特殊,它也是得先编译才能执行,从这点上看,它应该属于编译型语言,但它并不直接编译成可执行文件,而是编译成和平台无关的字节码,执行时有JVM解释执行,所以从这点上看,它又属于解释性语言。
 

时间: 2024-09-16 11:52:25

解释型语言与编译型语言的对比的相关文章

大前端开发者需要了解的基础编译原理和语言知识

在我刚刚进入大学,从零开始学习 C 语言的时候,我就不断的从学长的口中听到一个又一个语言,比如 C++.Java.Python.JavaScript 这些大众的,也有 Lisp.Perl.Ruby 这些相对小众的.一般来说,当程序员讨论一门语言的时候,默认的上下文经常是:"用 xxx 语言来完成 xxx 任务".所以一直困扰着的我的一个问题就是,为什么完成某个任务,一定要选择特定的语言,比如安卓开发是 Java,前端要用 JavaScript,iOS 开发使用 Objective-C

凭啥Java运行环境称虚拟机 Python只能称解释器

这个问题估计想过的人不多,先找维基百科看一下虚拟机的定义. 虚拟机的定义有2个,一种是类似Vmware的系统虚拟机,另一种是虚拟机称之为程序虚拟机,诸如JVM,CLR就是最常见到的虚拟机. 程序虚拟机也称作托管运行时环境,运行这个虚拟机时,就好比普通的OS中的一个进程.当这个进程启动时,虚拟机启动,当进程销毁时,虚拟机销毁.使用虚拟机的目的就是提供一个和平台无关的编程环境. JVM中的执行引擎只能处理编译后的Java字节码,字节码处理引擎其实包含一个字节码解释器和一个JIT编译器(和.net的C

什么是Shell?Shell脚本基础知识详细介绍_linux shell

Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释和执行用户输入的命令:作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支. 它虽然不是Linux系统核心的一部分,但它调用了系统核心的大部分功能来执行程序.建立文件并以并行的方式协调各个程序的运行.因此,对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好L

《JavaScript入门经典(第6版)》——1.10 作业

1.10 作业 请先回答问题,再参考后面的答案. 1.10.1 测验1.JavaScript是解释型语言还是编译型语言? a.编译型语言 b.解释型语言 c.都不是 d.都是 2.若要添加JavaScript语句,必须在HTML页面里使用什么标签? a.< script>和< /script> b.< type="text/javascript"> c.< !--和--> 3.DOM层级结构的最顶层是: a.document属性 b.do

Haskell 开发环境搭建

haskell,一种函数编程语言,既是解释型语言又是编译型语言. 相对Haskell来说,传统的Basic,Pascal,C++,C#,Java,Python等都是命令(imperative)编程语言, 程序语句有一定的执行次序. 函数(functional)编程语言则给出执行的内容, 关注于更高层次的"做什么"而不是"怎么做", 这就是二者最明显的一个区别.函数编程语言的语法功能非常强,使编程的效率大幅提高.  开发环境 下载去官网即可.http://www.ha

Java 6 Hotspot的性能将有可能超越编译型语言

    Sun公司的Kohsuke Kawaguchi考察了Hotspot JIT在JDK6 u10 b14 debug版中产生的汇编代码,并将其记录在博客中.该博文着重阐述了Java优化的程度.     Kawaguchi 将重点放在两个主要的地方.首先是循环展开(loop unrolling),它是这样一种技术:复制循环的每次迭代所调用的指令以构成一个序列.通过减少循环中计算机需要执行的指令,节省了执行时间.JIT 将其与预处理和事后分析相结合,同时Kawaguchi对此的补充也说明了这样的

网站色彩、布局之间的对比:支付宝VS财付通

客户量: 支付宝:依托淘宝网,3亿客户 财付通:依托QQ,1.5亿客户 色彩方面: 共同点: Logo都用了蓝色与橙色, 红色警告.绿色安全.蓝色超链接,这已经成为两家公司的共同点. 不同点: 支付宝:继承了淘宝网的风格,用了大量的暖色元素-橙色,其中导航条橙色渐变,banner大色块暖色炫目图.偏向iPhone风格. 财付通:大胆创新的色彩,浅灰色系+暖色图标,明暗度对比,黑白阴阳图标,表现丰富,把黑白灰运用的淋漓尽致.偏向windows phone7 风格. windows phone7 风

Crystal 三种报表解决方案大对比:.NET 对象模型,报表应用服务器对象模型,水晶企业对象模型

对象|服务器|解决 概述 对于使用 .NET 平台的 Web 应用程序开发,Crystal Decisions 为开发者提供了三种愈加高级的报表对象模型: 1. 水晶报表 Visual Studio .NET 版 (.NET) 对象模型:捆绑在微软 Visual Studio .NET 和水晶报表 9 开发者版及高级版中. 2. 新增的报表应用服务器 (RAS) 对象模型:捆绑在水晶报表 9 开发者版及高级版中. 3. 水晶企业 (Crystal Enterprise) (CE) 对象模型:在水

MySQL和MongoDB设计实例对比

MySQL是关系型数据库中的明星,MongoDB是文档型数据库中的翘楚.下面通过一个设计实例对比一下二者:假设我们正在维护一个手机产品库,里面除了包含手机的名称,品牌等基本信息,还包含了待机时间,外观设计等参数信息,应该如何存取数据呢? 如果使用MySQL的话,应该如何存取数据呢? 如果使用MySQL话,手机的基本信息单独是一个表,另外由于不同手机的参数信息差异很大,所以还需要一个参数表来单独保存. CREATE TABLE IF NOT EXISTS `mobiles` (     `id`