
《Ant in Action 第2版 中文版》已经上市,敬请关注!
互动网购买:http://www.china-pub.com/39973
样章免费下载:http://groups.google.com/group/bvpopbook/files
======================
对第 1 版的赞誉
Praise for the First Edition
======================
总体上讲,《Java Development with Ant》是一部非常卓越的著作……包含了丰富的、有价值的信息,而且组织精巧,讲述清晰。
——Slashdot.org
如果你在使用Ant,一定要看看这本书。
——Rick Hightower 、《Java Tools for eXtreme Programming》的共同作者之一
这是一份关于Ant不可或缺的资料。
——Nicholas Lesiecki 、《Java Tools for eXtreme Programming》的共同作者之一
在Java开发中采用Ant,对于任何真正想要掌控Java应用程序的人而言都非常重要。要是我自己能写出这样一部书就好了。
——Stuart Halloway DevelopMentor、首席技术官、《Component Development for the Java Platform》的作者
有些问题,你甚至还没有意识到它们的存在,Erik和Steve就已经给你答案了。这本书不仅涵盖了关于Ant方方面面的主题,而且还讲述了很多颇有益处的轶闻趣事,这些内容,只有那些将Ant用在生产环境中的人才会知道。
——Ted Neward NET & Java 作家,讲师
这是每一位Java开发者的必读书。
——Denver Java 用户组
-----------------------------------------------------------
译者序
自从两年前偶然拜读了大野耐一先生的著作——《丰田生产方式》后,我发现自己变成了一个彻头彻尾的“工具主义者”。当然,我无意要与哲学中的“实用主义”派系相混淆,尽管它们之间有诸多相似之处。工具越聪明,它能替人类完成的事情就多。我们不妨来看看在丰田公司,工具(机器)是如何运作的:
“操作人员仅是负责保证质量,只有少数几个人负责拧螺钉或组装部件。机器人负担了全部工作,甚至驾驶着拉材料的小卡车满楼道跑,遇到通道上有人就发出‘嘟嘟嘟’声让你走开。……机器人为每辆凌志车前方挡风玻璃贴橡皮密封条,机器人手臂仔细地将融化的橡胶涂在前面方形的窗口周围……每当完成此项工作后,它的手指上经常留着一丁点儿橡胶,就如我们往牙刷上挤牙膏时,牙膏管口留下一点牙膏一样。这时,机器人的手指尖在碰到一根细得几乎看不见的金属线时就会停下,该线将残留在手指间那点滚烫的黑色橡胶刮下来——一切做得那么干净利落。我瞪着双眼看着这一过程……”
这段文字摘自托马斯.弗里德曼的《“凌志汽车”和“橄榄树”的视角》一书。它描述的是丰田公司1992时的厂房情景。在丰田公司的车间里,机器的数量远远多于工人。如果你还记得电影“摩登时代”中的卓别林的身体随着齿轮转动的场景的话,就会更加强烈地感受到彼此的不同。
“工具”在人类发展的历史中,是一个不可忽视的角色。人类的每一点进步,都伴随着新工具的出现,它可以完成那些原本需要由人来完成的事情,从而进一步地释放人类的自由和智慧。
在计算机软件开发的领域中,同样存在着这种现象。
作为一名开发人员,你每天花在配置环境,以及测试、发布、部署软件的时间有多少?是不是经常因为一个配置问题而导致进度停滞不前?开发软件这项工作,真正能带来价值的是编写新代码、添加新功能。而配置、发布、部署这些功能,尽管很耗时、很复杂,但本质上是重复性的劳动,对开发人员的时间和智慧都是一种浪费。那么,为什么不把这些工作都交给机器和工具来完成呢?
机器的时间比开发人员的时间要便宜的多。这是事实和趋势。从汇编语言被高级编程语言取代的那一刻起,历史的车轮就朝着这个方向行驶了。时间到了今天,软件的复杂度以及开发的难度已经达到了前所未有的高度,软件系统的构成涉及到大量组件之间的交互,因此“编码”占全部开发过程的比重越来越低,而让各种组件正常运作所花费的精力反而越来越多。对于开发者这是很可悲的,他们正在把自己的时间和智慧用在那些重复的、本应由机器自动完成的工作上。对于项目这也是可悲的,最昂贵的资源并没有被充分地利用。
幸运的是,今天已经出现了很多卓越的工具可以帮助开发者完成大量重复性的工作,而且具有高度的智能。本书介绍的Ant就是这些工具的一个杰出代表。几乎所有Java开发者都对Ant有着不同程度的理解,但是大多数人还停留在“需要时,临时复制一段配置文件来用”的阶段。但是,要发挥Ant的全部功能,仅仅这能种做法还不够;更重要的是,仅仅有Ant还不够!Ant像是一个强大的引擎,带动起其他的工具,帮助开发者完成更多重复性的劳动。在这本书中,作者不仅介绍了Ant的基础知识,也深入研究了Ant的高级特性。同时,作者还介绍了JUnit、HttpUnit、Cactus、Luntbuild、SmartFrog、Ivy等等,只有将这些工具有机地结合到一起,才能发挥出Ant的最大功效。
这个译本得以出版,离不开曹徐剑先生的鼎力相助,是你在我最困难(时间最紧迫)的时候,给了我很多的帮助。最后,我想以下面的场景作为结束,这个场景对于很多公司来说还很遥远,但是,也有不少公司已经朝着它快速前进了:
“开发者每天都把最多的时间花在代码的分析和编写上,而无需关心编译、打包和部署这些繁琐而不能产生价值的工作,因为这些工作都可以通过机器自动完成。每次开发者添加或修改了一些代码后,代码会在提交前运行所有的单元测试,在提交后会运行所有的单元测试、回归测试和(或)验收测试。测试执行结束后,会生成一份清晰美观的报告,使开发人员可以清楚地掌握软件的健康状况。如果测试出现错误,构建过程会自动停止,并且各种手段通知开发者:停止当前的工作,立即修复错误。开发者每天都会很高兴地接受最有挑战的智力问题,而项目经理也会很高兴地看到,即使员工不加班,也可以写出出色的软件……”
其实,这不过是一个开始,还有更多的工具可以帮助我们完成任务,也还有更多的自动化可以实现。但是,Ant绝对是一个起点,一个坚实的起点。
韩锴
2008.4
发表于 @ 2008年06月19日 15:58:00|评论(loading...)|收藏