DLR
中Silverlight
的优势是什么?
答案 0 :(得分:0)
Silverlight使动态语言运行时能够为现代浏览器提供语言选择,从而为Silverlight开发人员提供了一个交互式环境,使他们的工作效率更高
这使您可以使用功能强大的脚本语言在任何开发环境中快速编写基于HTML或Silverlight图形的Web应用程序。
除了C#和VB.NET之外,Silverlight应用程序还可以使用动态语言运行时(DLR)构建的编程语言编写,如Ruby和Python。
文章:Dynamic Languages in Silverlight
关于绩效:DLR and Performance
答案 1 :(得分:0)
来自WikiPedia: http://en.wikipedia.org/wiki/Dynamic_Language_Runtime
动态语言运行时基于以下思想构建:可以在通用语言无关的抽象语法树之上实现语言特性,其节点对应于许多动态语言通用的特定功能。 [13]这种架构的支持是,必须在通用堆栈上实现的基本语言结构的数量本身应该是有限的。[14] DLR动态地生成与这些节点表示的功能相对应的代码。在DLR之上实现的任何动态语言的编译器必须生成DLR抽象树,并将其交给DLR库。 DLR提供动态更新的DynamicSite对象,用于将绑定方法的任务缓存到对象。由于动态语言中对象的类型及其包含的成员在程序生存期内可能会发生变化,因此方法调用必须检查方法列表以查看调用是否有效。 DynamicSite对象表示并缓存对象及其方法的状态;对象的任何更新也会反映在DynamicSite对象中。 DLR通过DynamicSite对象路由所有方法调用,然后对该方法执行快速查找和绑定方法。