现实生活中的口齿不清

我曾经用 Lisp (实际上是 Scheme)做过实验,发现它是一种非常漂亮的语言,我有兴趣学习更多关于它的知识。然而,Lisp 似乎从来没有在严肃的项目中使用过,我也没有在任何招聘信息中看到它被列为一项理想的技能。我很想听听那些曾经使用过 Lisp,或者曾经在“现实世界”中见过 Lisp 的人,或者那些知道 Lisp 是否被认为是纯粹的学术语言的人的意见。

33467 次浏览

如果我现在开始我自己的主要软件项目,我会根据上面的标准做出我的语言决定。当然,我喜欢 Lisp,CLOS 非常棒,真正的词法范围岩石,Lisp 宏非常酷(当作为指令使用时) ,而且我个人非常喜欢 Lisp 语法。但是如果我负责做出选择的话,说服我选择 Lisp 作为一个主要的软件项目需要很多,或者需要特殊的情况。Dan Weinreb

Paul Graham 使用并撰写了用 LISP 编写的 ViaWeb

阅读有关它 在这里-击败平均水平

查一下 ACL2。它是一个基于 lisp 的形式化逻辑引擎,已经被许多“真实世界”项目使用,比如软件安全的形式化方法和浮点硬件的正确性证明。

它是一种很棒的语言,但是它是有缺陷的,因为(在我看来,作为一个软件业务所有者和程序员)很少有商业的 Lisp 软件包,而且很少有需要运行时费用的(因为终端用户也可以使用一个合适的 Lisp 软件包来编写 Lisp 程序)。

我使用 Steel Bank Common Lisp 在 Windows 和 Linux 下编写原型代码,我很喜欢它——但是我从来没有考虑过发布一个用它编写的产品。没有简单的方法来设置对程序的单击访问,以便最终用户永远不会遇到 Lisp 提示符。没有办法运送一个已编译的产品,这样用户就不能拆解它,做出一些改变,删除您的名称,并出售作为自己的。我曾经看到过 Lisp 系统,这两个都可以在其中完成,但它们是商业系统,你必须为程序的每个最终用户支付运行时费用,这是荒谬的。

Lisp 也许有一天会成为它自己的语言(我非常希望如此) ,但是它对于大多数商业软件来说还不可行。唯一的例外是它总是运行在你可以完全控制的系统上,比如网络服务器(我只听说过几家公司使用它)。

Emacs 的省略号算吗?这是我所熟悉的最“真实世界”的用法(尽管我也不确定 Emacs 算不算“真实世界”)。

我相信 Autocad 有使用 Lisp 来扩展产品的扩展。

Reddit 最初是用 Lisp 编写的,后来又用 Python 重写。我们对这个开关进行了很好的分析,并在 找到 Lisp中说明了它对 Lisp 的意义。

ITA Software 使用 Common Lisp作为其 QPX 低价搜索引擎,这为诸如 Orbitz皮划艇美国人团结 Airlines 等网站提供了动力。它也部分用于即将到来的 旅客预订系统旅客预订系统加拿大航空公司。Paul Graham 过去在 ITA 有关于 Lisp 的 写了一点

(免责声明: 我在那里工作。)

有很多公司、项目和产品在不同的角色中使用 Lisp ーー我曾为其中几个公司、项目和产品做过工作。

有两点是相关的:

  1. 您可能永远不会知道您最新的消费电子产品是用 Common Lisp 构建的,甚至是用 Common Lisp 编写的,或者您使用的某些服务是由 Lisp 服务器提供的。得出 Lisp“从未使用过”的结论是不正确的。

  2. 和很多域名一样,这些工作从未在 Monster.com 上出现过。只是因为你从来没有看到一个招聘广告,并不意味着没有 Lisp 要求或正确的工具,为工作的机会。

Franz,Inc. 在他们的网站上提供了详尽的 成功故事清单。然而:

请不要认为 Lisp 只是 有用的动画和图形,人工智能, 生物信息学,B2B 和电子商务, 数据挖掘,EDA/半导体 应用、专家系统、金融、, 智能代理,知识 管理,机械 CAD,建模 模拟,自然语言, 优化,研究,风险分析, 调度、电信和 Web 创作 只是因为这些是唯一的东西 他们碰巧列了清单。ー肯特 · 皮特曼

我们可以在这里找到其他的成功故事: http://lisp-lang.org/success/

以及使用 Common Lisp: https://github.com/azzamsa/awesome-lisp-companies的当前公司列表

如果我的计划成功了,我们都将在5年后使用 Scheme

作为一个小型创业公司,我们已经建立了一些人称之为“应用服务器”的东西。但实际上它只是一组用于 sql 连接和 Web 应用程序的集成的公共 lisp 库。有关 一些的详细资料,请浏览 Cl-dwim 项目页

利用这一点,我们开发并运行了一个 匈牙利政府的网络应用程序,它从地方政府收集数据并计算国家预算的相关部分。这是我们正在计划的第二个预算。

它有大约4000个用户,并且运行在一组计算机上。

作为“学术语言”: 我们正在处理诸如业务流程建模的持续延续之类的事情。它是一些随机的 lisp 代码,带有一些额外的进程相关原语和一些约束。它可以在代码中的随机点停止,并在等待某些外部事件时进入睡眠状态(被提交到数据库中)。

它是实用的还是学术的? 你决定... :)

虽然它不是主流,但是我在尽可能多的研究代码中使用 lisp。到目前为止,它是我找到的最好的语言,既能平衡动态性和表达性,又能为数字等产生不错的性能。.

彼得•克里斯滕森(Peter Christensen)编制了一份很棒的(财务上)成功的口齿不清公司名单。

Http://www.pchristensen.com/blog/lisp-companies/

莉莉池塘是一个相当近期的开放源码项目,它仍然在持续地进行大量的开发活动。

这是一个音乐符号程序,采取一个易于编写的文本文件作为输入,并转换成美丽的乐谱(pdf 文件)。提供了各种方法来修改输出(如果您愿意)。它甚至可以产生听起来不错的 midi 文件。每当我需要制作精美的乐谱时,我就会使用它,让其他音乐家可以阅读。我认为它比终曲更好,它的 自由

在商业类别中,还有 Notehead 的 Igor 雕刻者。不幸的是,这个网站不允许我发布一个直接链接到谈论 Lisp 的页面,所以去下载,看看底部的“ Lisp”链接。译注:

还有淘气狗(一家电脑游戏公司)在他们的游戏中使用 Lisp。这篇文章谈到了这一点,甚至还展示了一些代码。

还有许多其他的被提及和链接到,但是这些是与我产生共鸣的主要类型(作为一个作曲家/程序员/游戏玩家/... 类型)。

Scheme 编程语言被 FLUENT 流程建模软件(脚本语言,CFD)用作计算流体力学。

只是添加到所有非常明智的意见以上: 看看科尔曼 Lisp 工具,并发现如何嵌入非常智能函数到嵌入式系统!

对于 AutoCAD 应用程序,AutoLISP/Visual LISP 在实际项目中得到了广泛的应用,并且有着广泛的用户群体。

当我发现 棱镜(“棱镜项目是一个长期项目,旨在建立放射治疗计划的软件工具,包括人工智能工具以及手动模拟系统。”)是用 Common Lisp 编写的。

我的工作是编写使用 DICOM的软件,我必须说编写好的 DICOM 实现是一项艰巨的任务。在他们的 报告中,他们描述了 Common Lisp 如何让他们构建了一个好的 DICOM 实现,这个实现比其他实现(至少在某些方面)更好,而且工作量更小。

最近的一些:

其中前三个是使用 Weblock (一种 CL Web 框架)编写的。 Wigflup 和 Clutu 使用纯粹的 Hunchentoot。

现在开始编程! :)

Lisp 在80年代早期尝试跳到光速, 有商业生产的“ Lisp 机器”,表面上看起来很多 就像现代的工作站一样,但是它们都是 Lisp 的 最终输给了英特尔(和其他所有东西一样) 失去了 C/C + + 。有各种各样的理论为什么这一切是如此。 Http://www.andromeda.com/people/ddyer/lisp/

我看到一些人已经提到它,但 lisp 是广泛用于自定义 Autocad 开发。Autocad 包括一个内置的 lisp 解释器。它是扩展产品的最简单方法之一,并提供快速提高生产力的能力。

不需要编译,在用户端,可以在命令行中输入1个或更多行 lisp 表达式,并立即在绘图上执行。对于愿意采取哪怕一个小步骤学习基本的 lisp 的设计师和起草人员,它可以提供一个巨大的生产力的恩惠。

Autocad 确实提供了许多其他定制产品的方法: ObjectARX (C + +)、 VB、 C # 等等。到目前为止,lisp 接口是最容易学习和实现的。其他大多数开发环境都以某种方式使用 lisp。

Lisp 解释器是在 Autocad 的早期版本中提供的,称为 Variables 和 expression。它相当有限,但是在用户中非常成功,以至于很快就添加了额外的功能。后来出现了一个完整的可视化 IDE (我想是在2000版本中)。

我讨厌猜测有多少百万(十亿?)可用于 Autocad 的 lisp 代码行。在谷歌上搜索“ autocad”。“ lsp”返回230万次点击。

好了,打字够了,我要回去工作了,为我当前的项目写更多的 lisp:)

GoogleAppInventor 是用 Scheme 编写的

我相信,GIMP 的插件系统是基于 Scheme 的。我不知道这是不是完全“现实世界”,但至少看起来是 Lisp 的一个实际应用。

返回文章页面算法音乐工具箱译者: Http://www.koncon.nl/downloads/actoolbox/

我公司有方案编写的软件(PLT)。该软件被用来充当大公司的电子邮件防火墙。

我刚刚意识到 马克西玛,一个用于符号代数的程序,是用 Common Lisp 编写的。我已经用了很长一段时间,我认为这也是一个非常好的现实生活的例子。

Lisp 在现实世界的算法音乐创作中使用 普通音乐库。RickTaube 的 金属层的笔记是这个主题的一个很好的入门文本,里面有很多用 Lisp 编写的例子。参见示例目录 给你和文本 给你的副本。

该哈勃空间望远镜使用 Lisp 规划工具进行调度。航天飞机是。韦伯望远镜。我为 Lisp 撰写文章的公司分析了数十亿美元的医疗保险索赔,即使在经济衰退期间,该公司的年增长率也在30% 左右。我们已经被一家大公司收购了,我们的一个程序员在一年内完成了(实际上是改进了)(大公司)用于分析医疗保险索赔的软件的输出,从零开始,由他自己完成。(大公司)的代码,而不是 Lisp,花了6年时间和几个程序员。就职业生涯而言,问题在于,太多人听信那些“很多恼人的愚蠢括号”之类的废话。大多数管理者并不“明白”,他们更愿意拥有一个熟悉到可以进行微观管理的语言的项目。他们认为“ Lisp = AI”,甚至不想考虑它是一种好的通用语言的可能性。他们只是塞住耳朵。目前还没有完善的工具可以用来建立对 M $用户友好的网站,或者集群化或者流水线化现有的 Java 应用程序,而这正是 IT 在这些日子里通过收购增长所关心的90% 的问题。我可以继续,但这只会让我痛苦。:)

马修•埃里克•巴塞特(Matthew Eric Bassett)谈电影业使用 Racket: Http://www.youtube.com/watch?v=37owcjwnkk0

丹尼尔 · 利布戈德(Daniel Liebgold)在《球拍》和《 PS3: Http://www.youtube.com/watch?v=osmqbnhhp1c

Http://www.gensym.com/ -实时业务规则引擎拥有许多工业客户。

在内部,它是用 Common Lisp 编写的

如前所述,计算机代数系统“ Maxima”是用 Lisp 编写的,但其他 CAS 也是用 Lisp 编写的,例如 Axiom 及其 fork (OpenAxiom 和 Fricas)。