由来: 计算机底层只能识别(并执行)0、1序列的机器码,因此所有的语言要被计算机执行,
最终都要以某种方式被转换成能被计算机识别的0、1序列机器码。这个翻译过程按照
执行时间不同,分为编译型和解释型。
区别:
编译型语言:
a)程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件.
b)以后要运行的话就不用重新翻译,直接执行编译后的文件 .exe即可
c)翻译成机器码只做一次,运行时不需要翻译,导致程序执行效率高。
d)编译阶段即可发现常见的语法或者链接等错误,帮助程序员排查出可能潜在的语法、语义和类型转换错误。
e)生成的可执行文件,是相对与本机机器指令集的,如果移植到不同机器指令集的机器上,自然不能执行,即可移植性不好(非跨平台)
f)对机器和和跨平台性的要求不高,多用在开发操作系统、大型应用程序、数据库程序系统。
g)常见语言有: C/C++、Pascal/Object Pascal(Delphi)
解释型语言:
a)程序运行时由翻译器将高级语言代码翻译成易于执行的中间代码(不是机器码)
b)解释器(例如浏览器、虚拟机)逐一将该中间代码解释成机器码并执行
c)不生成可执行文件,每次运行都需要做一下转换工作,然后再执行,效率低
d)代码中的错误必须直到运行阶段方可发现.
e)依靠解释器(eg:jvm)的功劳,最终生成的机器码会适配当前机器指令集,因此移植性好(跨平台)
f)对机器有一定的配置要求,如果内存较小,运行程序每次都需要使用解释器解释执行必然耗费资源过多。 多用在服务器脚本及辅助开发接口等需要一定跨平台兼容性的程序。
g)常见语言有: Java、JavaScript、VBScript、Perl、Python、Ruby
后记:
随着硬件的升级和设计思想的变革,编译型和解释型语言越来越笼统,主要体现在一些新兴的高级语言上,而解释型语言的自身特点也使得编译器厂商愿意花费更多成本来优化解释器,解释型语言性能会超过编译型语言的趋势也会日渐明显
相关推荐
1. 解释型语言:Python 是一种解释型语言,边执行边编译。Python 运行时都需要生产字节码文件,交由虚拟机来处理。 2. 字节码文件:Python 解释器将源码转换为字节码,然后由解释器来执行这些字节码,以求重复执行时...
- **解释型与编译型**:Java程序先被编译成字节码,然后在运行时由JVM解释执行,这种混合模式兼顾了编译型语言的效率和解释型语言的灵活性。 通过以上概述可以看出,Java语言不仅继承了C语言的强大功能,还吸取了...
- **编译与执行:** Perl是一种解释型语言,不需要显式的编译步骤,直接通过Perl解释器即可运行脚本文件。 #### 二、基础数据类型 **2.1 数字** - **内部表示:** Perl中的数字统一采用二进制形式存储,无论是整数...
Java是解释型语言,代码需要通过JVM(Java虚拟机)运行,而C/C++是编译型语言,直接生成机器码执行。 4. 三大环境变量 在Java开发中,通常需要设置三个关键的环境变量:JAVA_HOME、PATH和CLASSPATH。JAVA_HOME指向...
** Perl是一种解释型语言,不需要编译过程,可以直接运行源代码。 ### 二、基本数据类型与变量 #### 2.1 数字与字符串 - **数字的内部表示**:Perl内部统一使用IEEE 754标准的浮点数表示数字,包括整数和浮点数。...
作为一种解释型语言,Ruby无需编译即可运行,大大简化了开发流程。其语法清晰,易于学习,同时所有基本数据类型如整数都被视为对象,充分展现了其面向对象的设计哲学。 Ruby的文本处理功能强大,尤其适用于字符串...
- **由来**:Java语言最初由Sun Microsystems的James Gosling等人于1990年代初开发,其目标是创造一种跨平台、面向对象的编程语言。 - **特点与优势**:Java具有“一次编写,到处运行”的特性,通过虚拟机(JVM)...
- **编译与运行Perl程序**:Perl是一种解释型语言,不需要专门的编译步骤即可直接运行。通过命令行工具调用Perl解释器即可执行程序。 #### 四、Perl的数据类型与操作 - **标量数据类型**:包括数字和字符串两种...
- **高性能**:尽管Java最初被认为是解释型语言而被认为效率较低,但随着JIT编译器的发展,Java的性能已经得到了显著提升,可以满足大多数高性能应用场景的需求。 - **多线程**:Java支持多线程编程,允许开发者...
- Perl是一种解释型语言,可以直接运行而无需编译。 #### 三、Perl基础知识 **2.1 数字** - **数值类型:** - Perl支持整数和浮点数两种基本类型的数字。 - **非十进制表示:** - Perl支持二进制、八进制和...
0.18 编译型程序与解释型程序的区别 19 0.19 什么是大端字节序、小端字节序 19 0.20 BIOS中断、DOS中断、Linux中断的 区别 21 0.21 Section和Segment的区别 25 0.22 什么是魔数 29 0.23 操作系统是如何识别文件系统...
JVM负责解释和执行Java字节码,使得Java程序能够在任何安装了JVM的平台上运行,无需重新编译。 #### 结论 从C语言的诞生到Java的革新,我们见证了计算机语言如何不断适应新的环境和需求,以及如何在编程艺术的道路...
- **JSP由来**:由Sun公司推出,支持多种后台操作系统。 - **JSP文件**:同样在HTML中嵌入Java代码,实现动态内容生成。 - **优点**:多平台支持,由Java社区提供广泛支持,适用于大型企业级应用。 - **缺点**:配置...
- 高性能:虽然Java是解释型语言,但通过即时编译技术(JIT),它可以达到接近原生代码的速度。 - **应用平台**: - **Java SE**:Java标准版,是Java平台的基础,提供核心类库和支持。 - **Java EE**:Java...