8

.Net 4 将具有 DLR(动态语言运行时)。我知道它将用于 Iron Python 和 Iron Ruby 之类的东西。但这就是它的全部好处吗?

DLR 有什么用处?

DLR 是如何工作的?

4

2 回答 2

8

它有助于让开发人员更轻松地构建动态语言,动态语言与 CLR 以及动态语言(基于 DLR 构建)之间的兼容性。

DLR 建立在顶级 CLR 之上,因此您将能够访问其他 .Net 库。多语言支持使您能够为正确的任务选择正确的语言。DLR 允许开发人员更轻松地创建自己的动态语言(我认为这是很多开发人员的梦想)

它通过使用动态代码生成(在运行时生成代码)来工作动态类型系统(在运行时更改类型并允许 DLR 语言拥有一个通用的通信平台)动态方法调度(动态调度是能够动态地更改执行的代码)运行时的方法)。

基本上,DLR 根据表达式树动态生成代码。表达式树是发送到 DLR 以编译和运行的操作列表。

我认为 DLR 将改变游戏规则。在 DLR 发布之后,我认为您会看到大量新语言的涌现以及现有语言的更多端口。

于 2009-03-17T17:14:33.727 回答
2

除了充当“动态语言的 CLR 桥”之外,DLR 的另一个有趣用途是充当“(可能)任何结构化逻辑序列表示的 CLR 桥”。

换句话说……“动态语言”可以是 Visio 流程图、XML 文档、存储在数据库中的数据等。DLR 提供了从结构化数据映射到可执行代码的工具。DLR 和 WF 之间存在重叠……很想知道这将如何发挥作用。

如果您考虑 Oslo 所做的事情(提供将结构分层到其他非结构化“数据”的工具),您可以看到这一切都在哪里。Oslo + DLR 可能会在未来几年成为一个非常大的交易。

当然,我们中的一些人不只是等待这一切自行发生。;-)

于 2009-03-29T17:25:54.150 回答