CLR的诞生(2006)

2020-05-25 18:29:06

大家好,我是KCLR/UIFX小组的首席架构师,也是.NET框架的首席架构师。我在想我应该在我的博客…的第一个条目中放些什么。作为CLR的创始人之一,我想在我的博客介绍中给大家介绍一下CLR诞生的历史会很有趣。

在CLR之前,我正在研究JVM。当Mike Toutonghi、Peter Kukol、Anders Hejlsberg和我意识到JVM不会给我们在我们关心的地方提供创新的灵活性-支持其他语言、与COM和非托管代码的深度互操作、公开MS技术的广泛框架-我们决定与COM团队联手,组成一个新的小组,暂时命名为COM 2.0。

我们很快对对象管理意见不一,特别是关于COM(AddRef/Release)和自动管理(垃圾收集)这样的显式管理,我们决定组成两个小组:COM+和CLR。这标志着CLR小组的诞生。

早些时候,一个元数据小组加入了我们的行列,他们一直在为C++编译器制作一些元数据模式的原型。Peter Kukol和C++小组在IL指令集方面进行了合作。我设计了运行时的体系结构,并编写了垃圾收集器(是的,GC原型是先用Common Lisp编写的,我编写了一个翻译器将其转换为C++)。

很快,我们就拥有了运行时的所有基本组件,一些用于基类(字符串和对象)的运行时帮助器,以及一种新的很酷的语言:C#。我们的业务是构建功能齐全的CLR和框架。

在下一篇博客文章中,我将撰写关于服务器建模的文章。如果你有什么特别的话题想看我写,也请随时告诉我。