编译语言和解释型语言

文章探讨了编译型语言如C、C++与解释型语言如Python的区别,包括执行速度、跨平台性。编译型语言速度快但跨平台性差,常用于开发操作系统和大型应用;解释型语言虽然速度较慢,但跨平台性强,适用于对速度要求不高的Web和服务器脚本。
摘要由CSDN通过智能技术生成

编译与解释型语言的产生

计算机只能识别二进制编码(机器码)所以任何语言在交由计算机执行时必须要先转换为机器码,也就是像print('heoll')必须转换为类似1010101这样的机器码。

根据转换时机的不同,语言分成了两大类编译语言和解释型语言

编译型语言

编译型语言,会在代码执行前将代码编译为机器码,然后将机器码交由计算机执行

a(源码)————编译————b(编译后的机器码)

代表性语言

C语言、、C++、Objective-C、Swift、Kotlin等

编译型语言的特点

执行速度快

跨平台性差

解释型语言

解释型语言,不会在执行前对代码进行编译,而是在执行的同时一边执行一边编译

a(源码)————解释器———解释器执行

代表性语言

Python、JavaScript 、Perl 、Shell

解释型语言的特点

执行速度比较慢

跨平台性比较好

解释型语言与编译语言的区别

 解释性语言在运行程序的时候才翻译,比如解释性basic语言,专门有一个 解释器能够直接执行basic程序,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。

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

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

编译性语言不如解释性语言跨平台性好

编译性语言例如c语言:用c语言开发了程序后,需要通过编译器把程序编译成机器语言(即计算机识别的二进制文件,因为不同的操作系统计算机识别的二进制文件是不同的),所以c语言程序进行移植后,要重新编译。(如windows编译成ext文件,linux编译成erp文件)。

解释性语言,例如java语言,java程序首先通过编译器编译成class文件,如果在windows平台上运行,则通过windows平台上的java虚拟机(VM)进行解释。如果运行在linux平台上,则通过linux平台上的java虚拟机进行解释执行。所以说能跨平台,前提是平台上必须要有相匹配的java虚拟机。如果没有java虚拟机,则不能进行跨平台。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值