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

什么是编程语言自举?

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

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

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

人话版

以JavaScript和TypeScript为例

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

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

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

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

以上就是自举的过程

自举的好处

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

相关推荐
宿6746 小时前
vue3-async
前端·javascript·vue.js
YXWik66 小时前
记录前端请求接口在浏览器请求响应的Preview和Response展示的一样的问题
前端
2501_928996226 小时前
GPT-4o换DeepSeek迁移成本多少?中科热备解析API聚合平台技术账本
前端·数据库·人工智能
东风破_6 小时前
从跨域到 WebSocket:前端跨域方案、SSE 与双向实时通信详解
前端·后端
原则猫6 小时前
TS 类型工具
前端
excel7 小时前
Nuxt + Twin CSS 中宽度超过屏幕时底部出现空白的原因与解决方案
前端·javascript
行百里er7 小时前
Gateway 上别硬塞 MVC:DeferredImportSelector 看菜下锅
spring boot·后端·开源
名字还没想好☜8 小时前
Java 遍历时删元素抛 ConcurrentModificationException:fail-fast 原理与三种正确删法
后端
计算机魔术师8 小时前
美国司法部正式站队 OpenAI,AI 训练的版权账要这么算了
前端
IT_陈寒8 小时前
React Hooks闭包陷阱差点让我加班到凌晨
前端·人工智能·后端