ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 为敏捷团队准备的Lisp

为敏捷团队准备的Lisp

原创 Linux操作系统 作者:agile_boy 时间:2009-03-16 13:00:03 0 删除 编辑

Paragent是一个基于web的、开源的IT管理系统,它的开发语言是,是……Common Lisp?在他们最新的blog里面,Paragent的开发人员描述了他们使用Lisp的经验:

在开发新的服务器控件时,除了对Ruby/Rails、PHP和Python等一系列开发语言进行研究之外,我们决定更深入地研究下使用Lisp作为实现 语言的可能性。花费了大量精力之后,我们决定给Lisp一个机会。真没有辜负我们的期望,在有限的预算成本下,我们以创纪录的时间开发了Paragent 的第一版,并使其上线。

InfoQ访问了Paragent.com的CTO Tim Ritchey,希望他能谈一下为什么他的团队选择Lisp,以及它是如何被用来完成任务的。

作为一个开发新产品的小公司,我们与产品的早期使用者有紧密的联系,而且我们会迅速地把他们的反馈放入到阶段性的产品发布中去。使用Lisp的最大好处之 一就是可以直接在运行中的系统之上工作。当你编译一个函数时,它会被放入到运行中的映像中,你可以马上得到反馈。不会有长时间的“编辑-编译-运行”周期 来打断你的前行。在结对编程时,这是非常有用的,因为几乎没有停顿的时间。 

我们有一个例子:客户当时在开发现场与我们谈话,他们提出了一个非常重要的功能特性,产品是否具备这个特性会决定是否签订合同。当客户从我们的肩膀上看过 来的时候,我们当时马上打开服务器,编写那个功能特性的代码,运行一些测试,然后就直接发布了。30分钟之后,我们就直接签约了。我认为没有多少其他的开 发平台能够让我进行这样的尝试。

最近Lisp的流行又掀起了小小的复兴之势,这要归功于Peter Seibel的书籍《Practical Common Lisp》 。当然,一些公司已经成功使用Lisp好些年了。但是新接触Lisp的开发者都有这样一个抱怨:它已经有些过时了,而且明显缺乏第三方的开发库。说起工具,Paragent的开发人员经过仔细考虑,自己开发了Cusp :一个供Eclipse使用的Common Lisp开发插件。当被问到缺乏开发库对于Paragent是否是问题时,Tim Ritchey这样说:

刚开始时,我们对开发库相关的问题有些担心……最后,我们没有在这方面遇到什么问题。在大多数情况下,对于我们需要的部分都有很好的开发库(HTTP客户 端、SMTP、安全、图形渲染等);此外,Common Lisp有非常好的外部函数接口,如果没有原生的Lisp库,我们可以带入任何我们需要的东西。 

我认为造成人们对Common Lisp望而生畏的一个因素是:在他们的印象中,许多开发库都是由个体程序员一次性完成的成果,而其他语言的开发库都是由整个团队一起合作完成的。我不想 过多强调Lisp在生产力方面的优势,但是大部分的开发库,即使人手不足而且很少更新,这些库实际上也是非常稳定且具有很高生产力的……更少数目的 Lisp开发者意味着我们看起来显得很单薄,但是我们没有遇到因为开发库支持的原因导致无法继续工作的状况。

Lisp是否得到了新一代开发人员的青睐,这还有待观察。但是经验丰富的开发人员知道,在他们所做的全部关于技术的抉择中,开发语言的选择所产生的影响最大,因此,任何认同敏捷软件开发原则的团队至少会把Common Lisp作为一种备用方案。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14639675/viewspace-567457/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-07-01

  • 博文量
    120
  • 访问量
    118209