• 2004-06-11

    搭建舞台

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://www.blogbus.com/dreamhead-logs/217773.html

    最近做了几件事:
      在Linux下写了自己第一个真正实用的makefile
      写了自己第一个真正实用的Ant脚本
      自己从头到尾开发部署了第一个真正有用J2EE的程序
      自己第一次安装了我们系统运行用的应用服务器

    常常和人大谈软件设计的我竟然很少自己真正搭建一个开发环境、竟然很少真正部署自己开发的应用。环境不重要吗?显然不是。没有环境谈软件,就像一群饿着肚子的人谈理想一样可笑。但环境又最容易被人忽略,好的环境就像呼吸一样,如果不是故意提及,我们几乎忘了它的存在。我就生活在别人搭建的环境中,忽略了环境的存在。

    我是一个被惯坏的程序员。从开始写程序的那一天,我就生活在自动化的IDE中,很长的一段时间内,不知道IDE外有怎样的世界,惰性随IDE功能的强大而与日俱增。我一直搞不清楚,C源文件只包含一个头文件,而不包含具体的实现就能可以编译运行。虽然我知道编译连接的存在,具体是怎么回事,依然云里雾里。不幸的是,我是那种脑子有问题想不清楚就浑身不舒服的人,这个问题就让我不舒服了好一段时间。直至我知道了make的存在,简单的Makefile萦绕心头的困惑一扫而空。那时,我还是用VC写着程序,知道归知道,make不属于成天围着IDE跑的我。
    在公司做毕设的那会儿,我第一次接触到了Unix。在上面写程序,最先打交道的几位中就有make的身影。在前人搭建好的环境下,敲下“make”,所有编译连接的工作一气呵成,这让我开始有了一种真正程序员的感觉。
    正式工作以后,接受了领导安排,我成了一名Java程序员,于是我又回到了IDE的怀抱中。虽然也听说了Ant这个事实标准,但我从未写过一个真正有用的脚本,也就一直没有理解Ant。IDE营造的开发氛围是绝对舒服的,浑然天成的开发体验,多半会让人忘了它的存在。

    感受到环境影响的时候,多半是出问题的时候。
    我们公司的源码以CVS进行管理。同样是使用CVS,在我们系统开发1.0版本的时候,CVS等同于一个代码备份服务器,大家通常是自己的代码完全完成才会想到CVS。到了2.0开发时候,稍微的好了一些,基本上commit和update成了习惯性动作,CVS协同开发的作用逐渐体现了出来。不过,直到现在版本管理的功能依然没有发挥作用,同事们经常陷入在不同版本中来回维护相同代码的困境之中。
    Java也是一个环境大户。在大学的时候,看了太多的广告,于是想学Java,弄了个JDK,写了个HelloWorld,弄了半天,NoClassDefFoundError最终让我失去了继续的信心。Servlet、JSP、EJB无一不是需要新手费上大半天劲的东西,所以,为了一个“Hello,World”而焦头烂额对我来说是家常便饭。

    好环境确实需要功夫,让人感受不到并不是可以轻松达到的目标。想象一下,拿到一个全新的源码,一次编译通过和需要改无数个参数才能编译通过,二者的差距有多大,这足以体现出环境搭建者的水平。或许使用者并不在意,真正搭建环境的人才会体味个中艰辛。这里真要感谢一下为我把环境搭建好的各位,虽然你们剥夺了我锻炼的机会,但正是有了这样的环境,我才能心无杂念的工作。

    分享到:

    历史上的今天:

    Ant雕虫技 2009-06-11
    引用地址:

    评论

  • java环境的搭建的确比较繁琐,还有配置文件的部署,插件的安装,XML文件的编写。。。要学的东西实在太多。