C#小组Charlie Calvert在其博客发了一篇有关C#语言未来方向的文章,这片文章介绍了一个叫做动态查找的特性,它为.NET语言(包括建立在DLR上的语言)能有一个统一的动态运行时名称绑定方案,让C#能与其他.NET动态语言(如IronPython和IronRuby)进行交互。它的应用场景包括:

  1. 办公自动化:其实就是能更方便得调用Office的COM Interop,避免了膨胀的类数目
  2. 与动态语言交互:动态!动态!
  3. 调用反射:更方便的运行时动态调用

 
未来的C#动态部分可能采取一下的语法,即使用dynamic与静态部分分离:

static void Main(string[] args)
{
    dynamic
    {
        object myDynamicObject = GetDynamicObject();
        myDynamicObject.SomeMethod();         // call a method  
        myDynamicObject.someString = "value"; // Set a field
        myDynamicObject[0] = 25;              // Access an indexer
    }
}

其实ActionScript本身是动态语言,在3.0中加入了静态特性,同时也支持dynamic class和dynamic call等完全的ECMAScript的特性,有时候我写AS3的时候觉得比C#还舒服,我只是写一个小testing程序,为什么我要声明它的类型?于 是我们的C#也要来凑动态语言的热闹了,本身纯洁的C#已经慢慢变成了一个大杂烩……很早前看到的一篇文章说Microsoft就是一个厨师,总是希望能 满足所有人的口味,但那真的不好做,事物必须得发展(与时俱进)。

我一直觉得还没有一个语言能让我满足,现在的程序开发中依然有许多冗余的信息和文本,我始终觉得人的逻辑到计算机的映射可以更加无损和简洁。期待未来吧,C# 4.0,还有VS 10。

 

Original Post: http://x-dev.cn/post/C-Future-Focus-e58aa8e68081e69fa5e689beefbc88Dynamic-Lookupefbc89.aspx
Posted on 2008-02-05 21:23 Adrian H. 阅读(...) 评论(...) 编辑 收藏