• 外籍团队工作有感:3、关于开发工具


      中国的老话说得好“工欲善其事,必先利其器”,所以用什么开发工具是开发人员间一个亘古不变的话题。那么,外国人和中国人用的开发工具究竟有些什么不同呢?我这段时间得到的答案恐怕会让很多国内同行们大失所望!

      为什么这么说呢?因为实际工作中我们的外籍同事不仅没有什么特别强大的工具,反而就连我们常用的东西都不一定用得上!

      从最基本的说起吧,国内做开发的windows,一般是2003、2008系统,不管用不用得上,反正要用至少就是服务器版,不然都不好意思和人说这是技术部用的东西。但是说真的,在我的开发生涯中,真正必须使用服务器系统的情况寥寥可数,而且这些系统(正版)的价格,实在是相当惊悚的。目前我们的团队使用的开发平台仅仅只是普通的window7而已。当然嘛,我们也用了一组windows 2008 R2的服务器作为部门级开发所用,不过没有激活,就那么黑屏状态直接用的。这一点相对国内企业而言,真的算是寒碜的多了吧!

      然后就是数据库,SQl Server用的是大家看不上眼的 Express版(免费版);

      VS 2010 也不是我们常用的旗舰版;

      TFS和VSS是用不起的,用了开源的SVN当做源码管理平台;

      文档和需求管理用的是一个外国在外线管理平台(Web界面),免费版,限制了账号数量;

      Bug管理用的是bugzilla,免费开源产品……

      说到这里,继续罗列下去就没多少意义了,大家都看得出来我想说的是什么意思了!当然,只是做这样的介绍的话,大家不免会产生两个额外的问题:

    •   外国不是有很多公司推出了很多昂贵的工具吗(含收费组件、控件包等),为什么财大气粗的老外还这么穷扣呢?
    •   使用这么“弱”的工具,开发出来的东西会很优秀吗?

      这两个问题不难回答。

      第一个问题要分开来看,不是所有的老外都是财大气粗的,也不是所有的老外都穷扣的。对于外国公司开发的各种昂贵的开发工具,自然是有其市场的,用的人(应该说是公司)其实挺多的!但是,一个公司是否采用这种昂贵的东西,只能是由公司管理层决定的,而不是由开发者们自己决定的——要不你试试自己掏腰包买一套VS2010甚至SQl 2008试试看,只怕连一套windows都不舍得!这也可能导致一种奇妙的危机感:当你换了一家公司,而新公司并没有采用你所习惯的那种工具,你就会发现自己象瘸了腿一样做事不利索,甚至是寸步难行!所以外国的开发者们对商业软件一般是抱有一定的谨慎态度的,而不会像我们国内同行一样,什么优秀用什么,什么昂贵用什么。从这个意义上说,国内的开发人员正在使用者全球最为精良的开发平台和组件,真的没有特别的必要去打听老外们都用什么工具了——他们用的真的不如我们啊!(嗯,大多数最精良的开发工具似乎都有了破解版、算号器、注册机了吧,昂贵但是不付钱,国情问题就不引申了)

      另一方面,各种开发工具、插件、商业组件包一般也不会把生意给做绝,要么有限制功能的免费版、要么就有与之功能类似的开源软件可以选择。比如昂贵的Oracle数据库就可以用免费的开源软件MySQL替代之,两者皆出自同一家公司;Intel的C++集成开发环境要一千多美元,而老牌的GCC加一个anjuta用起来似乎也没什么不好;微软的巨无霸级开发平台VS2010 (各版本从几百到三千多美元不等)也有免费开源的替代品SharpDeveloper,甚至连.net framework ,也被novell公司的Mono给移植到了Linux平台下。

      这里不得不提的一点是,由于免费软件、试用软件可选择的余地相当大,所以外国开发者的视野也相当开阔;与之相反地情况是,国内很多从业人员就没这么高的眼界了,平时工作坚持用“最好的”平台,导致了脱离了特定环境就寸步难行的人不在少数——就像很多人常说的,微软把用户给惯坏了,然后用户就离不开他了!

      第二个问题的答案是肯定的,不管用什么样的工具,外国优秀软件、网站的总体数量和绝对比例是远远高于国内的!

      这个答案肯定会让不少人感到不舒服:外国人(普遍)不用盗版,拿着“劣等”的工具(此处无贬义,只是以国内的标准而言看似劣等)却做出了比我们更优质的成果——这自然会让我们受到压力和挫折感。但是这是普遍存在的事实。我们只能说,在从业心态、开发理念等很多角度,我们还仅仅只是处于起步阶段,并没有因为我们掌握了(盗版的)精良的工具而让我们和外籍同行站在同一起跑线上(更何况他们起跑本来就比我们早)。

      在这里,我不想评价国人与外国人的智商和品行——这样极易引发骂战,而且骂完了也不会有任何改善!我只想指出一个事实:国外有大量可供选择的开源免费工具,而且不乏做工精良之作,是因为外国有那么一大群热衷于软件事业的人,把自己的理念融入到工具软件的开发之中,并乐于将其分享。大到Linux操作系统,小到一个特定的转换程序,都是为了满足他们自己的需要而做的。他们是优秀的“工”,他们为自己制造“器”——“工欲善其事,必先利其器”指的正是这样一群人。而我们的情况则颇似“伸手党”,遇到问题的时候首先想到的是上网找一下有没有好用的工具、组件、成品或者半成本——甚至最好能找到中文版或者汉化版——而不是自己开发一个有用的工具(并与人分享)。

      小结一下:在本节中,摆在我们面前的,不是一个使用正版/盗版开发工具的问题,也不是哪种工具孰优孰劣的问题,而在于,我们要弄清一件事:工具只是工具,事是要靠人来做的,只有人本身才是一切的重点,拿着金菜刀也当不上御厨!

    2012-05-17 22:23:03

    ----------------------------------------

    2012-05-23 21:11:47 补充:

    有些时候,我们常常会发现一些外国的轻量级小工具,看起来“很好很强大”,但是根本不知道怎么用,而且上网一搜,也基本以外文介绍为主——这种时候千万不要感慨说我们有多落后——其实他们的小工具很多很好也不一定就代表什么。做个简单的比喻吧,餐桌上你拿两根竹棍给白人,他们根本不会意识到这是什么,即使你告诉他们这玩意叫做“筷子”也是枉然。他们的小工具固然很多,但那些玩意对我们而言更像刀叉,并不一定说筷子和刀叉有什么优劣之分,具体还是要对使用者而言的。

  • 相关阅读:
    动手搭建 Web 框架深入了解 Web 框架的本质
    HTTP 协议
    Objectarx 判断点是否在多段线内部
    最小面积圆覆盖
    最小面积矩形覆盖
    objectarx之(点集)凸包算法
    Objectarx之相交矩形求并集 面域转多段线
    实时监控linux主机网络活动,上传下载速度
    block SSH attacks on Linux with denyhosts (centOS7)
    ASCII Camera
  • 原文地址:https://www.cnblogs.com/michaelyu/p/2506922.html
Copyright © 2020-2023  润新知