LINQ又被赋予了新的Active?

来源:互联网 发布:Python数据培训 编辑:程序博客网 时间:2024/06/08 03:53

原文:LINQ is the new Active

笔记:Don和我一起走了一程。写这篇文章的目的旨在表现一种包容。但是事实上是,至少有一个其它同事不能从这篇文章中看出这种包容,根据这个情况,我认为我应该明确指出以下几点:a)我非常喜欢并尊敬Don;b)我之所以写以下的内容其目的只是因为我认为PLINQ的声音值得一笑;c)最近我旁观了Don参加的,一个有深度的关于LINQ的历史的讨论[因此,我在下面的内容中用到了他的名字];另外d)我对幽默的感觉表面上看有点畸形。因此,尽管已经让Don和我的另一个同事对我的文章稍作处理,我还发现要用手写介质来传达一个没有恶意的玩笑是多么的困难。至于LINQ或者PLINQ在技术上的真实价值,请注意,我的确没有任何观点认为它是一个不好的选择。在这之前我就已经再干别的,因此还没有时间来开发一个选择。所以,如果Don也不能看出我是在开玩笑的话,我向Don发出诚挚的歉意,并且也在此,为今后能够印证,向大家指出我只是在开玩笑。

在听说了DLINQ和XLINQ几个月之后,这个早上,我以为我不会感到奇怪——突然打开MSDN的2007年8月事件杂志,看到一篇关于PLINQ(并行LINQ)的文章。这让我想起了ActiveX时代。在那个时代每一样技术或产品生产出来的时候看上去都有点"Active":ActiveAync,ActiveGrid,ActiveCrash,Active这,Active那.....现在,又变成了这样LINQ,那样LINQ,其它LINQ等。

所以在我读完这篇PLINQ的文章之后,我很失望地肯定微软再一次做了过多承诺而难以兑现的傻事。这让我想起了Com+,在1993年Mary Kirkland第一次写到了Com+,而这个Com+与到了2000年微软发布的Com+实际上是有区别的。或者(更加狼狈)是原本就过分夸大的XML Web Service的奇迹。

我说的这些,当然了,实际上就是PLINQ只是展现了最起码的特性,而这些特性是在去年,在Grand Gaymans的SDR上,微软原本向我们承诺过的,而那也是并行查询框架计划第一次被描述的地方。在这次SDR上,他们不断地重复TIDDLY WINQS(Threaded, Interactive Dynamic Data Layer Yields for Windows(R) In Networked Query Systems)是如何提供自动化的,整合语言的,支持GRID计算服务的。而这些支持将依赖于在P2P环境下,跨基于.net系统连接的并行查询。

就在此时,Don Box,端着一杯朗母达鸡尾酒,穿着一身花衬衣,一副精心打扮的胡须(时常会说“看看我,我是如此的光彩照人,哪里用的着剪头或是梳头”)沾沾自喜地谈论着TIDDLY WINQS如何自动化支持大规模计算,提供这种支持的是将结构复杂的查询表达式分解为离散的子表达式。这些子表达式然后会被转交给其它协同工作的“选手”(个人电脑节点)。之后每个“选手”会为这些分配来的子表达式计算出结果,最后这些零散的计算结果送入合适的TIDDLY WINQS “杯子”(Sql2005 集群)中。只有当每个“选手”的得出了子查询的结果,TIDDLY WINQS框架才会综合出最终的结果,然后将聚集(“获胜”)的答案返回给你的应用程序。并且由于TIDDLY WINQS(通过一个可插入的“连接设备”)可以自动处理网络连接中的数据丢失和重复获取,Don接二连三地重复着TIDDLY WINQS被应用到ClickOnce应用中的优点,说在WPF和WCF中使用ClickOnce 应用是如何地好,但是却运行于一个PCE,一个部分连接的环境中。

于是今天早上我感到很遗憾,再次意识到在TIDDLY WINQS夸大其词之后, 微软却递交了PLINQ,一项命名得体,没有什么特点的,很有可能出现在下一代.Net应用程序上的技术。

 

更多内容,请参见我的Blog导读

原创粉丝点击