Jim在文章中表示,在他六年微软职业生涯的起初,他花了8个月的时间,努力将微软支持下的IronPython发布为一个开源项目。他写到:
……最后通过的那个时候,正好是我在年度Python大会上发言的前一天晚上——一点准备都没有。我很高兴地看到Python社区很乐意接受IronPython……
IronPython的第一个版本明显有很多问题。它使用微软单方面的“开源”协议(译注:即MS-PL),但没有得到社区的信任。在接下里的几年里这个协议通过了OSI认证,最后IronPython转向了更著名的Apache开源协议。第一个版本同样也有许多重大的技术漏洞,例如垃圾回收机制无法处理动态生成的代码,这会引起严重的内存泄漏。这个问题通过.NET 2.0中强大的DynamicMethod得以解决。几年来,我们一直在稳步地解决技术及社区接受程度方面的问题。
同时,Jim认为他最为得意的作品是“动态语言运行时(Dynamic Language Runtime,DLR)”:
对我来说,工作的巅峰则是创建出了动态语言运行时,它包含了大量我们在.NET平台上开发IronPython时所得到的深度思考。最酷的是,我们通过引入了一个兼容层,让不同的语言能够在.NET平台上进行互操作。我喜欢能够在IronRuby里调用我钟爱的Python类库的感觉。而最令人高兴的事情则是为C#语言添加了dynamic关键字。我对动态和静态类型长期以来的争论持中立态度,而在C#丰富的静态系统中有机会使用动态类型的功能实在是太棒了。至少,我想我永远不会忘记在讨论叫做“动态”的静态类型时所获得的震撼。
不过,微软决定终止对IronPython的投资还是成为了Jim离开微软的导火索:
……可能你们大都知道,我已经有段时间没有将主要精力放在IronPython上了,不过这一决定还是让我对工作进行了反思,我认为是时候探索新的职业道路了……我对这里大量优秀的人员及产品表示尊敬。我已经爱上C#语言的优雅,可能需要承受一些编写Java代码时的痛苦,从微软Office精心雕琢的UI切换到Google Docs时可能也会遭受些挫折。不管怎么说,我会珍惜从优秀的人们那里所学到的东西。
Jim表示他即将加入谷歌,并谈了一些未来的工作:
能够加入谷歌我感到很兴奋。我喜欢与一些天才的小团队一起工作,并不断地受到用户的反馈与驱动。我喜欢和开源代码及社区保持良好的关系,我也认为未来是属于云和Web的。虽然在微软也能做到这些,IronPython便是个良好的证明,但对此我总是感觉格格不入,需要花费更多代价。我很高兴能够加入一个与我的直觉合拍的地方,并展现出这些做法的力量。我相信在不断地反馈与改进之后Google Docs会有成长,我也会爱上它。
由于新雇主的关系,我会在Java方面的虚拟机世界里投入更多精力。我确信C#已经成长为一门比Java更好的语言,.NET也有一些很酷的特性是JVM所不存在的,但我也在Java世界里发现了一些伟大的事物,如HotSpot的适应性编译技术,以及强大的社区给这一平台带来的良好价值。我认为双方都有和明显的优势。同时,我也喜欢Google设置的“主流语言”标准:Python、JavaScript,Java和C++,我找不到反对它的理由——至少我可以考虑将Python当作主要的语言!
最后,Jim表示他将退出IronPython项目。目前IronPython已经有了新的组织者,他们是Miguel de Icaza、Michael Foord、Jeff Hardy与Jimmy Schementi,其中Miguel de Icaza和Jimmy Schement同时也会负责IronRuby项目的协调工作。