微软打造动态语言层

来源:岁月联盟 编辑:zhuzhu 时间:2007-05-09

有消息称微软计划提供一个新的软件层,方便动态语言能够更容易、更紧密地和它的.net framework结合在一起。该消息来源还表示微软将在mix '07大会上揭开这项新技术的神秘面纱——该技术被命名为“dynamic language runtime”(dlr)——这一大会已于4月30日在拉斯维加斯召开。

目前也能够在.net framework上执行动态语言,诸如ruby、perl、php和python。然而微软花了几个月的时间,力图让.net对于动态语言开发者来说更具有吸引力。

“目前有一些ruby clr项目,但是它们都还没有完成,而且它们非常不同。” dion almaer对ajaxian.com表示。“ruby社区都会欢迎可靠的clr执行的。ruby是我喜欢的语言。我爱它。用它来开发现在只能是一种梦 想。现在的ruby执行太慢,使用起来非常痛苦。jruby开始在jvm上运行良好,如果在clr上也能这样就太棒了。”

“关键的问题是rails能运行在它上面吗?”如果他们在这个选项上打了勾,那就甚至应该有更多的宣传。almaer继续表示。“php?则没有那么多喧嚣。php目前运行很好,所以对它不像对ruby的需求。”

最近几年,微软雇佣了两名动态语言先锋——jim hugunin(ironpython的作者)和john lam (rubyclr的创造者)。在去年微软组织的lang.net论坛上,hugunin、lam和其他微软的官员们毫不犹豫地表示了微软对将.net打造 成一个更好的动态语言平台的兴趣。
hugunin告诉lang.net与会者们微软计划在clr基础上发布一套库,这将为动态语言提供更好的兼容性。在eweek关于该活动的一篇报道中,hugunin是这样解释微软的意图的:

“我们正在努力做的,并不是做一个动态语言规范,而是提供一个动态语言库,并指导如何去使用它,因为我坚信如果你能够在代码而不是文本中找到什么的话,那么这就是最好的方法。所以我们试图尽可能多地在代码中找到这样的指导方针。”

eweek还引用了lam在同一次会议上的另外一句话。他相信“相当大一部分的动态语言很相似。”所以支持的整数长度就变成了python和ruby都要支持的问题,他表示,“这些事情你都必须自己完成。”

hugunin是2004年加入微软的,他在开发ironpython的过程中,不得不自己在.net的核心完成大量的python和common language runtime(clr)集成的工作。当微软在去年发布ironpython 1.0的时候,hugunin回忆道:

“ironpython努力同clr紧密结合在一起。这是件了不起的事情,因为它让我们可以利用其他语言中高度调和的组件,例如just-in- time compiler、垃圾收集器、调试支持、反射、动态载荷等等。这种集成对于ironpython开发者来说也非常有价值,因为这让他们能够用他们的 python代码,很容易地使用任何或者所有为.net而建设的库。”

一名微软发言人拒绝提供任何关于微软所谓的dlr的信息或者时间计划。