我一直在研究用dlr作为我的玩具语言,我有点困惑。如果.net 4.0有linq表达式树、动态对象和“动态”类型,那么我们真的还需要dlr吗?dlr提供了什么可以让我作为一个语言开发人员的生活变得更轻松?
---编辑----
让我把问题解释清楚一点。在codeplex(dlr.codeplex.com)上找到的dlr项目,是否还需要这么做?这个dlr项目的所有特性都包含在.net 4中了吗?或者在DLR里还有什么有价值的东西吗?
最佳答案
它并不能完全回答你的问题,但我很有兴趣阅读吉姆·雨古宁不久前关于离开微软的信息。
他指出的一件事是,dlr是我们在.net 4.0中取得的许多好的进步背后的驱动因素,你现在说这就是为什么你可能不再需要dlr的原因。
编辑:链接到消息-http://hugunin.net/microsoft_farewell.html
另一方面,我认为dynamicsite系统仍然是非常有价值的东西,而不一定是重要的东西放在clr本身。
第二次编辑:这是一个有趣的查询,真的,我刚刚在codeplex上查看了文档。正如您所陈述和澄清的,.net 4.0clr确实实现了使dlr变得特别的那种东西;阅读dlr概述,我认为基本上的想法是,用dlr实现的东西有一个优势,那就是能够更快地访问新功能,然后等待新版本的框架。
这可能是没有意义的,因为他们已经有一段时间没有发布新版本的dlr了!
另一个可能的优势是,dlr中的ast有更多的特性,但我承认我没有对此进行适当的探讨:
共享AST(表达式树)--这是
国防部。我们扩展了linq表达式树以包含控件
流程、任务等。我们还提供所有表达式的源
树v1和v2(dlr的新功能)。表达树是一部分
降低了将语言移植到.net的门槛,我们在
绑定器和dynamicmetaobject协议。
关于c# - .NET 4.0是否需要DLR?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6740749/