远离.net

我们,作为软件开发人员,都自我处在各种不同的状态中。

我曾经工作过的一家公司,在多年的运营中,一直认为软件几个月集成一次或部署一次没有什么问题;他们从来不知道什么是持续集成。他们认为每两年把软件从头再开发一次再正常不过了;他们从未听说过测试驱动开发(TTD)或迭代开发。尽管这些技术已经被证明能十分显著的提高软件的质量,降低开发成本、维护成本和提高团队士气。事实证明,就在今时今日,你仍然能找到从未听说过这些术语的软件从业者。

我还看到了很多时候,一些软件开发人员,用一些极其恐怖的方式,自己开发类库和框架来解决世人已熟知的问题。这一遍又一遍的重新开发数据映射工具(data mappers),日志工具,对象转换机制,消息传输系统和web框架,浪费了大量的时间、精力和耐心。我并不是在谈论公共协作活动,我说的是团体内部的“非我勿用”通病。当一个社区跟外界隔离时就会发生这种情况。这样的社区里人们不相互往来,不相互合作。.net社区就是这样的一个社区。

去年微软发布了一个新的web框架,叫做MVC。对于web标准来说这不是新框架,甚至对于已经拥有Monorail项目多年的.net标准来说也不算新。然而人们仍然在等待它的到来。人们在等着微软把它提供给他们。虽然开源的MVC web框架也有,而且这么多的.net开发人员有能力把它们开发的很好,可什么都没有发生。只有在微软的一小撮开发人员在做着他们自己的框架,于是MVC今天还是一种新颖的框架。

这种情形一定是什么地方出了严重的错误。

这个新的web框架比之前的那个要并迅速的被人们接受。微软公布了源码。有人在github网站上为它搭建了开发代码库。这个代码库目前只有30个人关注、5次提交。5次提交!为什么这个数会这样出奇的少?因为微软不维护它。他们发布了一个没有任何人参与奉献的新版本的MVC。更糟糕的是,人们只用这些新的版本,每次github代码库都会从新搭建一次。

Paul Cowan和他的horn项目也遇到了同样的问题。他们试图解决.net中的依赖管理问题。这真是个很难的问题,但也许最大的困难是来自于目前情况下的现实社会的合作问题。他们在这个项目上没有得到什么帮助。如果我要是不离开,我会把我的所有精力放在上面。

.net社区是在一个没有合作的真空中运营。

这是一个病态的,被那些提供非开源软件“解决方案”的软件厂商毒化了的社区,是被微软那种软件的进化速度刚好能满足解决自己问题的需要的聪明做法束缚了的社区。

第三方厂商的支持论坛里到处充斥着“我把GridView放在了我们CallBack控制器里,可是报了一个ViewState错误”之类的问题。对这个问题的真正的解答不是提供“下一版将会修复这个问题”。真正的答案基本上是“不要使用这么多有问题的抽象做法,从你的同事那里问问如何使#@$#@%正常工作!”。

同样微软的codeplex项目平台网站也不能用,它不是真正开源的!真正的开源是不需要在提交了一个补丁程序后还需要等待/期望有朝一日能被主分支版本接受和合并。

抱怨的够多了,反正我走了!我投入了时间,尽了最大努力,但今天是最后一天,如果你真的对开发软件感兴趣,你应该让自己处在一群志同道合的人之中。

tumblr_l96hroX0z81qb48c6

明天我要用Ruby开发一个新项目。我将会遇到很多、各种各样的有才能的、热情的人们,他们由衷的希望相互合作,为大家把软件改进的更好。我工作空间的每一部分,包括操作系统,数据库,框架,web服务器,甚至语言本身都是开源的,这是一大群共同努力的人们的见证。

对于.net社区里这些年给我鼓励的人们:OrenEini, Jeremy Miller, Hamilton Verissimo, Rob Conery, Scott Bellware,
Scott Hanselman,以及所有试图建立一个真正社区的人们,我想对他们的努力表示我最大的谢意,我希望你们成功!

对于那些想成为一个由热情的具有创新和奉献精神的开发人员组成的充满活力的社区里的一员的人们,行动起来吧,不要局限于某一种框架和语言。找到你自己的群体。全部找出来。在github建立自己的帐号,干起来吧。

[英文原文:Leaving .net ]
分享这篇文章:

15 Responses to 远离.net

  1. Dave says:

    .net真的这么恐怖?

  2. csdn.lfsfxy9 says:

    恩,那么.net平台是不是有被抛弃的趋势呢

  3. 果壳中的宇宙 says:

    我不这么认为,.net还是挺好的,开发很快,在效率为先的社会里,能解决问题就行,不用太拘泥于效率,原理之类的东西。可能开源方面做得不够好,这对某些玩家确实不是好消息。

  4. jackzhang says:

    我认为标题翻译的不太合适,应该为离开.net 不是远离.net

  5. banq says:

    有关该文的其他讨论:http://www.jdon.com/jivejdon/thread/39434

  6. SpeedVan says:

    .net其实很大危机的,现在它很被动,总是比潮流慢一步,跟不上潮流的东西只会慢慢被潮流埋没,除非在这潮流中只有它一个o(︶︿︶)o

  7. says:

    恭喜恭喜 中华人民共和国的民主主义积极分子刘晓波先生获奖了诺贝尔和平奖

    • quanben says:

      1 .net也开源了。
      2. 上述文章和评论中攻击.net的理由多多少少在其他平台也都存在,其他平台还有.net所不具有的缺点。这你怎么说。

  8. Eddy says:

    我一直认为,盲目否定是一种很无知的表现,看来楼主 一点也不懂编程。

  9. arvin says:

    lz 不能在.net 中遇到一点问题就对.net 提出否定

  10. qmigh says:

    这是一篇2010年的文章。然后你再看看.NET MVC现在的进展,就知道作者有多偏颇。

  11. SR1 says:

    其实重点并不是.net不好用,重点是.net社区的文化无法让开发人员在开发中得到提高,微软把很多的实现都封装起来,对开发人员隐藏,但自生对平台的维护积极性又不高,本质上还是微软太封闭,无法激发人们的创造性。

    文章开篇就说到这点:“我说的是团体内部的“非我勿用”通病。当一个社区跟外界隔离时就会发生这种情况。这样的社区里人们不相互往来,不相互合作。.net社区就是这样的一个社区。”

    微软为维持其帝国地位做出了孜孜不倦的努力,为了抗击JavaScript推出了JScript,为了抗击Java推出了C#等等,或许用制衡比抗击更合适。然而这些对开发人员是不友好的,很多方法的命名文绉绉,反直觉,难上手,兼容性…基本只能在自家的平台跑…

    所以我觉得,作者最后其实倡导开发者:拥抱开源,远离微软(从.net开始)

  12. quanben 对这篇文章的反应是垃圾
  13. 牛腩 says:

    首先你要能流畅的上github。。。

  14. 星爷 对这篇文章的反应是赞一个

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.