【AICon】 如何构建高效的 RAG 系统?RAG 技术在实际应用中遇到的挑战及应对策略?>>> 了解详情
写点什么

为敏捷团队准备的 Lisp

  • 2007-10-29
  • 本文字数:1391 字

    阅读完需:约 5 分钟

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 作为一种备用方案。

查看英文原文: Lisp for Agile Teams - - - - - -

译者简介:郑柯,目前任职《程序员》杂志社高级编辑,有志于在中国的软件开发业界推广 Agile 的理念和方法论,笃信以人为本,关注 Ruby,关注敏捷,关注人。参与 InfoQ 中文站内容建设,请邮件至 china-editorial@infoq.com

2007-10-29 05:311010
用户头像

发布了 479 篇内容, 共 151.2 次阅读, 收获喜欢 47 次。

关注

评论

发布
暂无评论
发现更多内容

课后总结1-架构师训练营

进击的炮灰

系统设计

纯纯

构架师训练营第一周 作业一:食堂就餐卡系统设计

孙有能希

食堂就餐卡系统设计

olderwei

食堂就餐卡系统设计文档

JUN

架构师如何做架构(训练营第一课)

看山是山

学习 极客大学架构师训练营 UML

第一周作业

qqq

极客大学架构师训练营

计算广告的核心问题

子悠

广告 计算广告 互联网广告

朋友,您可能是MCR的受害者

newbe36524

Docker Dockerfile .net core

架构师训练营学习心得初谈

潜默闻雨

架构师如何做架构

小遵

食堂就餐卡系统设计

imicode

架构师训练营第一周总结

草原上的奔跑

极客大学架构师训练营

食堂就餐卡系统架构设计文档

GAC·DU

极客大学架构师训练营

初识架构师

eazonshaw

极客大学架构师训练营

架构师如何去编写设计文档?

李小匪

架构 架构是训练营

第一周培训心得

史慧君

架构师训练 - 20200610 - 学习总结

lei Shi

第一周感想

数字

食堂就餐卡系统设计

G小调

第一周学习总结

qqq

极客大学架构师训练营

架构师训练营第一周学习感悟

子豪sirius

作业一:食堂就餐卡系统设计

清风明月

极客大学架构师训练营

架构师训练营第0期第一周总结

陌生人

第一周-学习总结

molly

极客大学架构师训练营

架构师如何做架构(第1周学习总结)

李德政

极客大学架构师训练营

就餐卡系统设计

stars

第一周学习总结

G小调

【架构师训练营-作业-1】食堂就餐卡系统设计

Andy

「架构师训练营」作业1:食堂就餐卡系统设计

Amy

极客大学架构师训练营 作业

思考架构

纯纯

为敏捷团队准备的Lisp_研发效能_Kurt Christensen_InfoQ精选文章