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

什么是编程语言自举?

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

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

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

人话版

以JavaScript和TypeScript为例

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

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

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

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

以上就是自举的过程

自举的好处

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

相关推荐
4Forsee10 分钟前
【Android】View 事件分发机制与源码解析
android·java·前端
VT.馒头19 分钟前
【力扣】2725. 间隔取消
javascript·leetcode·1024程序员节
刘一说22 分钟前
Spring Boot 主程序入口与启动流程深度解析:从 `@SpringBootApplication` 到应用就绪
java·spring boot·后端
合作小小程序员小小店23 分钟前
web开发,在线%蛋糕销售%管理系统,基于asp.net,webform,c#,sql server
开发语言·后端·asp.net·html5·教育电商
一 乐39 分钟前
车辆管理|校园车辆信息|基于SprinBoot+vue的校园车辆管理系统(源码+数据库+文档)
java·前端·数据库·vue.js·论文·毕设·车辆管理
怪力乌龟44 分钟前
Go语言数组和切片
开发语言·后端·golang
Yeats_Liao1 小时前
Go Web 编程快速入门 08 - JSON API:编码、解码与内容协商
后端·golang·json
虚行1 小时前
Go 编程基础
开发语言·后端·golang
脚踏实地的大梦想家1 小时前
【Go】P14 Go语言核心利器:全面解析结构体 (Struct)
开发语言·后端·golang
QX_hao1 小时前
【Go】--time包的使用
开发语言·后端·golang