千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:郑州千锋IT培训  >  技术干货  >  脚本语言和使用JIT compilation的语言的主要区别是什么?

脚本语言和使用JIT compilation的语言的主要区别是什么?

来源:千锋教育
发布人:xqq
时间: 2023-10-13 18:03:32

一、脚本语言和使用JIT compilation的语言的主要区别

脚本是解释执行,每次执行相同的代码都需要编译,而jit是在名列前茅次执行时编译,后面如果没有代码修改,就不会再编译了。

解释执行和即时编译的差距从流程上看只有最后一步:解释器直接调用对应的代码执行动作,而即时编译器生成执行动作的代码,然后启动它,后者多了一个优化的机会。

有人提到解释器会重复做前端工作,其实解释器不一定需要这样,完全可以把ast等中间数据保存下来,俗称“快速解释器”,从这个角度看,解释器其实也是一种”编译器“,把语言编译成特定的中间代码

延伸阅读:

二、编程语言和脚本语言有什么区别

脚本语言是编程语言的子集。

通常来讲,我们一般把通常通过程序、虚拟机来解释执行,而不是编译后执行的语言叫做脚本语言。脚本语言通常比较动态,通常执行相比于编译语言较慢,通常代码规模不会很大(聚焦在批量处理),通常入门门槛较低。

而编程语言范围更广,指的是通过指令来命令计算机进行某种运算或输出,指令本身就是编程语言。脚本语言是编程语言的一种形式。

并且,脚本语言的定义是模糊的。比如通过C语言解释器来执行C语言,这时候C语言是不是脚本语言?用虚拟机(比如bochs,qemu)解释执行机器码(汇编语言),那么机器码是不是脚本语言?用numba把python编译成二进制然后执行,Python是不是 不是脚本语言?

所以我们对脚本语言的定义是约定俗成的。就是这个语言一般是解释执行的,一般是用来快速批量处理的,我们就管它叫做脚本语言。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

有哪些开发网站的工具?

2023-10-13

为什么很多编程语言用 end 作为区块结束符,而放弃花括号?

2023-10-13

PHP和Java有什么区别?

2023-10-13

最新文章NEW

maxima-sbcl和maxima-openmcl有什么区别?

2023-10-13

C 风格的类型转换和 dynamic_cast 有什么区别?

2023-10-13

python中的text editor,terminal,interpreter之间的区别是什么?

2023-10-13

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>