【每日一题】- 2020-07-01 - TypeScript 编译器是用 TypeScript 写的,那是先有编译器还是TS?

lucifer
  • 4.9k
回复
阅读 1.4k
6 个回答

之前在知乎看到过这样的问题,应该是叫编译器的自举
链接: 编译器的自举原理是什么? - vczh的回答 - 知乎 https://www.zhihu.com/questio...

先有 TypeScript。 TS 编译器的发展大致如下:

  • 用别的语言(比如JS)写一个第一版编译器 V1
  • 用 TS 写第二版编译器 V2,TS 需要被 V1 先编译
  • 用 TS 写第三版编译器 V3,TS 需要被 V2 先编译
  • 至此,就完成了自举(bootstrapping)

扯.
最原始的版本肯定不是ts写的。

第一版编译器是js写的,用js先写了tsc,也就是v1版本,v1里有很多测试用例,ts实现了v2版本,然后测试,不断自举(ps:自举概念可以上网查,比较通俗的概念见(轮子哥的回答)),目前是4.0版本,刚看到tsc还是js版本的,估计等特别稳定了就会用ts实现tsc吧,这样就可以完全自举了

我猜是先有的鸡蛋,然后才能孵化出小鸡,不然没有鸡蛋怎么能孵化出小鸡呢?
哈哈
那你的鸡蛋哪来的?鸡下的.....
那我猜是先有的鸡,然后才能下蛋,不然没有鸡哪来的蛋呢?
哈哈
那你的鸡哪来的?蛋孵化的....
那我猜是现有的鸡蛋..................

你知道吗?

宣传栏