.Net 4 将具有 DLR(动态语言运行时)。我知道它将用于 Iron Python 和 Iron Ruby 之类的东西。但这就是它的全部好处吗?
DLR 有什么用处?
DLR 是如何工作的?
.Net 4 将具有 DLR(动态语言运行时)。我知道它将用于 Iron Python 和 Iron Ruby 之类的东西。但这就是它的全部好处吗?
DLR 有什么用处?
DLR 是如何工作的?
它有助于让开发人员更轻松地构建动态语言,动态语言与 CLR 以及动态语言(基于 DLR 构建)之间的兼容性。
DLR 建立在顶级 CLR 之上,因此您将能够访问其他 .Net 库。多语言支持使您能够为正确的任务选择正确的语言。DLR 允许开发人员更轻松地创建自己的动态语言(我认为这是很多开发人员的梦想)
它通过使用动态代码生成(在运行时生成代码)来工作动态类型系统(在运行时更改类型并允许 DLR 语言拥有一个通用的通信平台)动态方法调度(动态调度是能够动态地更改执行的代码)运行时的方法)。
基本上,DLR 根据表达式树动态生成代码。表达式树是发送到 DLR 以编译和运行的操作列表。
我认为 DLR 将改变游戏规则。在 DLR 发布之后,我认为您会看到大量新语言的涌现以及现有语言的更多端口。
除了充当“动态语言的 CLR 桥”之外,DLR 的另一个有趣用途是充当“(可能)任何结构化逻辑序列表示的 CLR 桥”。
换句话说……“动态语言”可以是 Visio 流程图、XML 文档、存储在数据库中的数据等。DLR 提供了从结构化数据映射到可执行代码的工具。DLR 和 WF 之间存在重叠……很想知道这将如何发挥作用。
如果您考虑 Oslo 所做的事情(提供将结构分层到其他非结构化“数据”的工具),您可以看到这一切都在哪里。Oslo + DLR 可能会在未来几年成为一个非常大的交易。
当然,我们中的一些人不只是等待这一切自行发生。;-)