[技术帖].net神话续篇

今天又有人旧话重提,谈起了.net的信任危机。其实我在《在这样的世界里,没人会不头晕的》中已经说过了,不过今天看了几篇相关文章,就再补充一下。

我写了《.net神话》之后不久,偶然看到在那之前一年多,就有人说过:

MS推.net最大的阻力将不是来自于外部,而是来自于MS自己的原生Windows

三年来我也一直持这个观点。当初MS鼓吹要在.net中实现的很多东西,大部分到现在还没有实现。

周星星就.NET架构师Scott Hanselman的话发了一篇《微软的Scott Hanselman言论》。其中也谈到这方面的问题,就是MS不可能用.net完全取代现在的原生Windows,只能是在很多时候用一个.net的Wrapper来包装一下原生API,这也是上个月Richard愤愤不平(中文版)的一个原因。所以我很能理解Richard的愤怒,因为在某种程度上说,他就像是在某一天里,忽然发现自己被一个精心策划的神话给骗了。

.net的确在很多方面都很强,但同时也必须看到,它并不是当初说的那么美妙。所以我才写《.net神话》,并在最后说到:

我也不是想证明 .net 一无是处,但它也决没有 M$ 说的那么好。如果你要作技术选型的工作,请三思

Longhorn被不断的推迟,而且WinFS将不在其中,Avalon和Indigo将单独提前发布。从技术角度上说,这些东西本身不用.net同样可以实现,而且还可能可以实现得更好。

如Richard所说,.net并未吸引到很多的VB用户,而JAVA用户更加不屑于转过去。就我个人了解,倒是有很多的DELPHI开发者转到.net下,而最主要的原因很可能是冲着Anders去的,习惯了用他做的东东来开发。

其实我扯了这么多,无非一个目的,想要证明至少在未来几年里:原生开发是不可能被.net完全取代的。

三年前,偶的一帮用DELPHI的朋友纷纷转向.net。很多人也建议我转,不过我没有–我就是要转也转JAVA啊,转个.net都不好意思跟人打招呼–当时我就对.net提出很多的质疑,并且坚信.net很难完全取代原生开发。

后来就有.net的拥趸告诉我:未来的Windows将完全使用.net,没有WindowsAPI,.net应用的性能将超过原生应用,特别是WindowsAPI可能将被模拟机取代

我一直很怀疑,难道所有的应用都要变成.net应用?包括那些对性能要求很高的游戏,图形图像,动画,3D……???

那些人很肯定地告诉我:!!!连DirectX也将用.net

可是我还是将信将疑。

三年来的事实证明,MS没有这么笨:放弃原来还算不错的Windows,重新用.net写一个。现在的情况渐渐明撩了,Windows不可能用.net重写,.net应用的性能也无法超越原生应用–除非你用更好的机器。

这里是最新曝光的关于Longhorn的信息,注意一下它对硬件的要求吧。作者在最后说:

呵呵,要求是不是有点BT啊,不过别紧张,Longhorn最早也要2006年才能出来,到时候大家的机器应该都能达到要求吧

TMD狗P不通。明年就是2006年了,Windows 2000是1999年出的,可是按98年的主流配置买的机器,照样可以跑得不错。但是用今年买的主流配置机器跑Longhorn试试。

BTW:明年偶的机器要是跑不撩Longhorn,MS是不是赞助偶钱升级啊?

Longhorn的普及就更不知道要到什么时候了,所以说.net要取代原生应用,还早着呢。

其实孟岩说得很对,.net本来是个不错的想法,只是就想着要无所不包,结果只能是自己也迷失了方向。最初.net叫做COM+ 2.0是一个更不容易导致混乱的叫法,也有一个更准确的定位。还有像asp.net也不错,算是一个比较成功的Web开发技术。比如BLOG程序我还是最喜欢这个用.net实现的.text。

如果.net能集中于这几个优势方面,好好做其实是可以做得很不错的。

16 Replies to “[技术帖].net神话续篇”

  1. 就是MS不可能用.net完全取代现在的原生Windows,只能是在很多时候用一个.net的Wrapper来包装一下原生API——我覺得,開發平台抽象化, 還是一個趨勢—ari——-个人感觉:其实原生api里面也有很多的面向对象的概念,在此之上做一个wrapper,实际上除非完全的隐藏原生对象的概念,否则将是换汤不换药,仅仅是有更直观的面向对象的特征。但是如果真的完全的隐藏了,估计很多方面的效率成了大问题,但是如果这些wrapper的接口真的比原来的更加科学,以及带来更丰富的模式,那么原生api本省就应该修改而让他面向这些而不是原来的直接用户。MS还是把原生api重新设计算了。

  2. 一楼的afan同学。米有人留言的原因。有一小部分是因为。偶看了半天也米有弄懂。所以一直持续地在犹豫要表酱紫狠没诚意的[纯占坑]。~^^|||||

  3. 我始终认为软件应用的范围是很广泛的,.net的抽象化始终也只能解决一部分的问题,永远不可能把所有的范围都包含进去。CC表哭,大叔还会继续8滴,就像小Y和逊位帮主的诗所说滴,大叔怎么可能不8捏。^O^

  4. 我不跟进.net的主要原因在于ms一贯不注意保护老程序员的技术投资,多年前对vfp开发者如此,现在对vb开发者如此,不久的将来,我们也许会看到C#的开发者也被抛弃。

  5. 我覺得是一個緩慢發展過程, 一下純.net化, 可能MS也吃不消, 而且, 太急的變化, 可能會流失開發人員!至于未來, 我覺得, 選擇.net問題也不大,MS有個好處,就是有大量的文檔!我覺得,開發平台抽象化, 還是一個趨勢, 未來的分化,可能也就象是vb, vc, 或者 vxd開發和普通應用開發一樣, 分成兩類, 一種還是用asm, c, c++ 開發高效的應用, 一種開發者,則關注的是開發效率, 則選用更易用的開發工具和框架

  6. 大叔的猛大叔好哦,在你的叶子里我只看一半,另一半留下来了呵呵 ,开心哦~!

  7. >>永远不可能把所有的范围都包含进去。但無所否認的是, 包圍的範圍會越來越大,當大到包含你所需要的一切, 就可以放心選用!如delphi 不能開發vxd, 但還是有不少的使用者!vs.2003 也沒有 managed 的串口通訊, 但到了.net 2,vs2005 就支持了, 是這樣的!>>在此之上做一个wrapper,实际上除非完全的隐藏原生对象的概念,MFC, VCL 我和理解都是這樣的!!!

  8. 但無所否認的是, 包圍的範圍會越來越大,當大到包含你所需要的一切, 就可以放心選用!————–三年了,也没见范围大到哪儿去。Java刚刚诞生的时候,也为我们描绘了一幅美好的前景(甚至设想到了Java CPU,呵呵),事实证明,那始终只是水中月镜中花。现在Java已经很明智的将重点转移到了企业开发上,基本放弃了桌面应用。那么,.NET又凭借什么使得它能够全面包容呢?三年下来,桌面应用中,.NET的应用不算多,企业开发的框架也不够成熟,Web Service没多少人用,微软自己当初主推的Passport也关了张,再加上它一而再再而三的重大调整,你认为它还需要多久才能“包含你所需要的一切”呢?

  9. # 回复: [技术帖].net神话续篇一句话:能包治百病的药~~~~~~~~都是假药。^O^2005-3-24 12:59 by 猛禽–这句话太强了,偶喜欢

  10. 类似的。。。“如果现在这个时代能出全才,那便是应试教育的幸运与这个时代的不幸。如果有,他便是人中之王,可惜没有,所以我们只好把全字人下面的王拿掉。时代需要的只是人才。”——韩寒

Leave a Reply

Your email address will not be published. Required fields are marked *