我很好奇用什么工具来构建自己的下一个版本.
例如,Delphi长期以来声称" Delphi是用Delphi编写的 ".
我假设Visual Studio是使用Visual Studio编写的.
什么是其他自己编写的工具示例?
有趣的是,VB.NET和C#编译器本身是用非托管C++编写的(导致C++团队的T-Shirt:"我的编译器编译了你的").C#团队希望为VS2010提供一个完全托管的C#托管C#编译器.
Bjarne Stroustrup在C++的设计和演变中提到,第一个C++编译器是用C++编写的.
我刚才注意到这也是他常见问题中的一个问题:
第一个C++编译器(Cfront)是用C++编写的.为了构建它,我首先使用C来编写"C with Classes"-to-C预处理器."C with Classes"是一种C语言,成为C++的直接祖先.该预处理器将"C with Classes"构造(如类和构造函数)转换为C语言.它是一个传统的预处理器,它不能理解所有语言,大部分类型检查都是C编译器要做的,并且翻译了个体没有完全知识的构造.然后我在"C with Classes"中编写了Cfront的第一个版本.
这是偏离主题的,但严格来说,它是一个自我构建工具的示例.
该的RepRap -一个开源的3D成型机,其最近给"诞生"到"它的第一个完整的工作复制副本".
我喜欢这种东西.
一般来说,C编译器通常用C语言编写......*nix内核在*nix上编译等.
还有,pypy项目提供了用Python编写的Python解释器.