张芷铭的个人博客

自举(Bootstrapping)指用语言自身实现其解释器或编译器。成熟语言不一定能自举。

能自举的原因

  • 设计闭环:验证语言完备性
  • 生态便利:复用自身库
  • 历史演进:成熟后用自身重写

不能自举的情况

原因示例
性能优先Python(CPython 用 C)
性能优先JavaScript(V8 用 C++)
设计限制Shell(难以实现自身解释器)
历史依赖Ruby(官方解释器用 C)

总结

  • C、Java、Go 等语言实现了自举
  • Python、JavaScript、Shell 等成熟语言未以自举为主流实现
  • 自举是设计完备性的体现,但非必需

Comments