一句话告诉你什么叫编程语言自举!

什么是编程语言自举?

编程语言自举指的是用该语言本身编写该语言的编译器或解释器,实现了自我实现和自我维护的能力。

???啊呸,什么玩意,完全看不懂啊。

没关系,下面我用一句话告诉你。什么TM的叫自举!

人话版

以JavaScript和TypeScript为例

  • Ts最开始是用Js写的,也就是用Js去写的编译器,这个编译器负责将Ts代码编译成Js代码。

  • 当Js编译器的能力足够丰富时,能够编译大部分Ts语言特性了。就会用Ts代码去重写编译器。

  • 当Ts编译器完成后,会将他编译为Js代码,作为新版本的编译器。

  • 好了,从此之后,所有的迭代都会基于这套Ts代码去编写,编写完成之后依然再将他编译成Js代码,作为新版本的编译器。循环往复。

以上就是自举的过程

自举的好处

编程语言自举是语言成熟的重要标志,它带来多方面的好处:验证语言设计、提高开发质量和效率、构建更强大的生态系统、增强技术独立性、促进性能优化,以及创建良性的自我改进循环。尽管自举过程可能复杂且耗时,但长期来看,这种投资通常能带来显著的回报,使语言更加稳定、高效和易用。

相关推荐
江城开朗的豌豆几秒前
React状态更新踩坑记:我是这样优雅修改参数的
前端·javascript·react.js
CodeSheep18 分钟前
Stack Overflow,轰然倒下了!
前端·后端·程序员
i紸定i19 分钟前
解决html-to-image在 ios 上dom里面的图片不显示出来
前端·ios·vue·html·html-to-image
ai.Neo20 分钟前
(第十七期)HTML图像标签详解:从入门到精通
前端·html
阿珊和她的猫21 分钟前
autofit.js: 自动调整HTML元素大小的JavaScript库
开发语言·javascript·html
excel24 分钟前
JS 函数终极指南:this、闭包、递归、尾调用、柯里化,一次性吃透
前端
夏天想25 分钟前
html模拟websocket通信
前端
GoGeekBaird27 分钟前
GoHumanLoopHub开源上线,开启Agent人际协作新方式
人工智能·后端·github
Victor3561 小时前
Redis(8)如何安装Redis?
后端