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

由于看Python的官方文档,不清楚解释器是什么,了解后记录下来


由于CPU 只能识别二进制指令(即机器语言),无法识别高级语言,因此所有高级语言在电脑上运行都需要先转变为机器语言。

高级语言分为两种类型:编译型语言解释型语言


编译型语言

开发完成后需将所有源代码一次性转换成二进制指令,即生成一个可执行程序(例如 Windows 下的 .exe文件)。

只要拥有可执行文件,就可以随时运行,不需要重新编译,即脱离开发环境运行

不能跨平台,即不能在不同的操作系统之前随意切换,表现在两个方面:①可执行程序不能跨平台;②源代码不能跨平台。

  • 转换工具被称为编译器
  • 常见 :C语言、C++、Go

解释型语言

每次执行程序一边执行一边转换,需要那些源代码就转换哪些源代码,用不到的不进行任何处理。

执行效率低于编译型语言,计算机的底层功能一般使用编译语言,只有在应用层(网站开发、批处理、小工具等)才会使用解释型语言。

在运行解释型语言时 ,始终需要源代码和解释器,因此无法脱离开发环境

解释型语言能跨平台(指源代码跨平台),在不同平台下,解释器会将相同的源代码转换成不同的机器码,解释器能够屏蔽不同平台之间的差异。

  • 转换工具被称为解释器
  • 常见:Python、PHP、JavaScript、Shell

Java 和 C# 是一种比较奇葩的存在,它们是半编译半解释型的语言,源代码需要先转换成一种中间文件(字节码文件),然后再将中间文件拿到虚拟机中执行。Java 引领了这种风潮,它的初衷是在跨平台的同时兼顾执行效率;C# 是后来的跟随者,但是 C# 一直止步于 Windows 平台,在其它平台鲜有作为。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值