2006年8月15日星期二

.NET 的灵魂是什么?

这是个很有趣的问题,但我觉得Microsoft也不能正面回答这个问题,估计他们会想rephrase这个问题,然后用他们的官方口吻回答。

先说说为什么会提这样的问题。那天和Piggest在逛购书中心,她说那些列很多Photoshop特效制作方法的书看再多都没有用,因为你看一个制作方法就只学到了这一个,而看《选择的艺术》这样的书,你才能领会到Photoshop的核心思想和使用方式,之后你就懂得如何灵活使用了。我接着就想,为什么ASP.NET的书都是那么肤浅,国内的书多数追求如何RAD式使用ASP.NET,国外的书就算在开发层面说得比较深入但都绝不提ASP.NET内部的一些运作机制,导致大部分ASP.NET的开发人员都只能按照一些官方给定的方式拼凑代码无法灵活发挥。为什么没有一本书能够抓得住ASP.NET的灵魂?是不是因为.NET本身就没有灵魂,所以你想抓也抓不到?

首先想一下MS会如何回答这个问题,.NET最有价值的地方就是语言无关。虽然它也好像Java那样应该是平台无关的,但是MS对非Windows平台的.NET Framework基本上毫无贡献,Mono发展至今也无法成为.NET Framework的第二选择。至于语言无关,这个特性的最大得益者似乎是MS而不是程序员,MS通过这招让大量其他语言的程序员转过来.NET。对于程序员来说,语言无关只是让不同语言的使用者能够方便的交流Assembly,但是对于设计与编码来说没有提供任何的核心思想。

接着MS应该会介绍.NET Framework自带的一大堆好好用的namespace,下面却是提供了很多很好用的类,例如ASP.NET 2.0就将Membership、Profile、WebPart等很实用的功能都引入了,大大方便了程序员。但是这又进一步突出了ASP.NET的RAD特性,除了RAD让人看不出它有任何深层次的思想。

那么除了提高开发效率,.NET有什么核心思想引导着所有的.NET开发人员,或许暂时没有。只有等MS慢慢成熟,整个企业塑造出一种除了赚钱和扩张以外的精神之后,.NET才可能有灵魂。

8 条评论:

  1. 从“星星不等式”链过来,一路见到好多高手,你系其中之一

    哇你学咩嘎……好深奥啊

    回复删除
  2. 你都系华附的?

    回复删除
  3. 你好,我系中山医临床医学03级七年制既学生,好冒昧哦可?

    我E-mail系lam.ych@gmail.com,如果你方面的话,唔该可唔可以帮下我啊?

    你Cat's life的主页显示系sitesled站点但你个profile系在Google的blogger上的。我想知道两者关系系点,我在blogger上面申请左一个blog(MSN太慢,虽然经营得好耐但系都系想换)但系发布完睇唔到,想知究竟系在blogger发布而sitesled会显示,定系sitesled本身有blog功能,但系我注册sitesled发觉好似系网络传送的功能……

    我系学医既,想请教你

    回复删除
  4. 难道系同blogger的发布设置有关?

    我原来系广雅的,呵呵

    回复删除
  5. 我来到的这是什么地方?
    好深奥
    Absolutely Completely Definitely Entirely Totally Utterly 看不懂...

    回复删除
  6. 我的是Blogger的blog,Blogger自己免费的host(也就是Blog*Spot)以前一直被大陆封杀,所以发布到那上面是没有人看得到的。我现在用的是sitesled的100m免费空间host,采用FTP方式发布到sitesled。

    星星怎么也跑来这里啦?因为我在你的blog狂灌水?哈哈……我以后多写些大家都看得懂的东东吧。

    回复删除
  7. 啊?具体系点做嘎?方唔方便教我啊?唔该发email俾我吖,lam.ych@gmail.com

    回复删除