为什么每个人最终讨厌并离开Maven
敏捷对象大师Martin Fowler的同事写了这篇文章:为什么每个人最终讨厌并最终离开Maven• Why Everyone (Eventually) Hates (or Leaves) Maven
Martin Fowler倡导一种内部可编程工具 InternalReprogrammability,并且分享了类似Emacs 和 Smalltalk让人心灵减少悲苦的工具。
作者总结了编程世界中两种可扩展可编程的抽象类型:Composable组合与Contextual语境上下文。
Maven是一个经典的contextual工具:它是武断的,刚性的,通用的,和教条的,项目之初,它容易通过插件添加行为和其他预建的细节。但随着时间的推移,项目变得不通用的,更像一个真正的,混乱的项目。在项目早期,因为没有人知道生命周期等特点,刚性制度当然很好,但是随着时间推移,项目复杂性增加,需要程序员有大量分支意见,这时Maven已经无能为力。
语言构建工具应该更加composable,作者推荐的是Rake,Ruby世界的构建工具,是一个简单强大充满魔力的捆绑工具。当作者从Ant到Rake时,发现Ant的task是可以在Rake中使用,是一种类似Ant世界。
很多人可能以为作者攻击Maven,成为Maven-bashing,作者只是想让大家明白,没有工具在任何场景上下文下工作得完美,Maven是启动新项目的好工具。
[该贴被banq于2013-01-23 11:07修改过]