BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

深入DLR语言——IronJS

| 作者 Roopesh Shenoy 关注 0 他的粉丝 ,译者 郭晓刚 关注 0 他的粉丝 发布于 2012年7月26日. 估计阅读时间: 1 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

IronJSDLR上的ECMAScript 3.0实现。其作者Fredrik Holmström最近在i-programmer的访谈上深入讨论在DLR上做语言实现的各种细节。

Fredrik特别强调DLR为他省下了很大的工作量:

DLR自带了很多好东西。

语言互操作是其中之一。DLR本身代码的坚实可靠。输出IL等很大比例的设施它都帮你准备好了。

Fredrik指出DLR有两种用法,一种是通过特殊的binder类/对象来关联操作,另一种是把DLR当作IL生成器和编译工具,然后自行做绑定。前一种速度较慢,IronJS用的是后一种方案。根据去年的基准测试报告,速度已经超过IE8的引擎。

自己做binding的副作用,是牺牲了与其他DLR语言互操作的天然能力。

IronJS的解析器当前用F#写成,而核心运行时是用C#写的。为了提升速度,Fredrik计划在下一版本中将所有的F#代码替换为C#。他又在和Scott Hanselmann进行的访谈中提到,IronJS既然建立在CLR之上,撞上性能墙只是迟早问题,无法跟原生代码的V8相比。

如果你想在DLR上实现自己的语言,阅读文档是个好的开始。“Iron”系列语言的源代码也是很好的阅读材料,如IronPython或者IronRuby

查看英文原文:Inside A DLR Language – IronJS

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

史上更新最慢的DLR语言 by doc delphi

绝大多数代码都一年多没更新了,个别较早的更新离现在最近的也7个多月了,它的下一版本估计2012年是等不到了。

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT