我已经对Lisp(实际上是Scheme)进行了实验,发现它是一门非常美丽的语言,我有兴趣进一步学习。但是,似乎Lisp从未在严肃的项目中使用过,而且我还没有将Lisp列为任何职位发布中所需要的技能。我很高兴听到有人使用Lisp或看到它在“现实世界”中使用过,或者知道它是否被视为纯粹的学术语言。
我已经对Lisp(实际上是Scheme)进行了实验,发现它是一门非常美丽的语言,我有兴趣进一步学习。但是,似乎Lisp从未在严肃的项目中使用过,而且我还没有将Lisp列为任何职位发布中所需要的技能。我很高兴听到有人使用Lisp或看到它在“现实世界”中使用过,或者知道它是否被视为纯粹的学术语言。
Answers:
Franz,Inc .在其网站上提供了详尽的成功案例列表。然而:
请不要假设Lisp仅适用于动画和图形,人工智能,生物信息学,B2B和电子商务,数据挖掘,EDA /半导体应用,专家系统,财务,智能代理,知识管理,机械CAD,建模和仿真,自然语言,优化,研究,风险分析,计划,电信和Web创作只是因为这些是它们碰巧列出的唯一内容。—肯特·皮特曼
我们可以在这里找到其他成功案例:http : //lisp-lang.org/success/
以及使用Common Lisp的当前公司列表:https://github.com/azzamsa/awesome-lisp-companies
Emacs的elisp计数吗?这是我所熟悉的最“真实世界”的用法(尽管我不确定Emacs也算作“真实世界”)。
vim
有;)。不幸的是(或者幸运的是,没有人用)编写过严肃的软件vimscript
。
作为一家小型创业公司,我们已经建立了一些人称为“应用程序服务器”的东西。但实际上,它只是一堆用于sql连接和Web应用程序的集成通用lisp库。一些细节可以在cl-dwim项目页面
以此为基础,我们为匈牙利政府开发并运行了一个网络应用程序,该应用程序从地方政府收集数据并计算国家预算的相关部分。这是我们现在正在计划的第二个预算。
它有大约4000个用户,并且在计算机集群上运行。
从“学术语言”开始:我们正在为业务流程建模使用诸如持续性延续之类的东西。它是一些带有一些额外的与过程相关的原语和一些约束的随机Lisp代码。它可以在代码中的随机点处停止并在等待某些外部事件时入睡(进入数据库)。
是实用的还是学术的?你决定... :)
Reddit最初是用Lisp编写的,后来又用Python重写了。在Finding Lisp上对转换及其对Lisp的意义进行了很好的分析。
ITA软件使用了大量的CL。
LilyPond是一个相当新的开源项目,仍在持续不断地进行大量开发活动。
这是一种音乐注释程序,它将易于编写的文本文件作为输入,并将其转换为精美的活页乐谱(pdf文件)。如果需要,提供各种方式来摆弄输出。它甚至可以产生听起来不错的Midi文件。每当需要制作精美的乐谱供其他音乐家阅读时,我都会使用它。我认为这比Finale好,而且免费!
在商业类别中,还有Notehead的Igor雕刻机。不幸的是,该站点不允许我在指向Lisp的页面上发布直接链接,因此请下载并在底部查找“ Lisp”链接。
还有Naughty Dog(一家计算机游戏公司)在其游戏中使用Lisp。本文讨论了这一点,甚至显示了一些代码。
并提到了许多其他链接,但这些是引起我共鸣的主要因素(成为作曲家/程序员/游戏者/ ...类型)。
如果我现在开始自己的大型软件项目,那么我将根据上述标准做出语言决定。当然,我喜欢Lisp,CLOS非常棒,是真正的词汇作用域,Lisp宏非常酷(按指示使用时),我个人非常喜欢Lisp语法。[…]但是,如果我负责选择Lisp,那么要说服我为大型软件项目选择Lisp将花费很多,或需要特殊的情况。- 丹魏因勒卜
最近一些:
其中的前三个是使用CL网络框架Weblocks编写的。Wigflip和Clutu使用纯Hunchentoot。
现在获取编码!:)
彼得·克里斯滕森(Peter Christensen)已编制了大量(财务上)成功的Lisp公司清单。
许多公司,项目和产品都以不同的角色使用Lisp-我已经为其中的几个做过工作。
有两个相关点:
您可能永远不会知道最新的消费类电子产品是由Common Lisp内置或编程的,或者您所使用的某些服务是由Lisp服务器提供动力的。结论Lisp是“从未使用过的”是不正确的。
……而且,与许多领域一样,这些工作从未出现在Monster.com上。仅仅因为您从未见过职位发布,并不意味着就没有Lisp所需的工具或适合工作的工具。
我相信GIMP的插件系统基于Scheme。我不知道这是否完全是“现实世界”,但至少似乎是Lisp的实际应用。
如果我的计划制定了,我们将在5年后使用Scheme!; p
Lisp与Common Music库一起用于现实世界的算法音乐创作中。Rick Taube的“ 来自Metalevel的注释”是该主题的精彩介绍性文字,其中包含Lisp中的大量示例以供撰写。请参阅此处的示例目录和此处的文本副本。
马修·埃里克·巴塞特(Matthew Eric Bassett)关于在电影界使用球拍的信息:http: //www.youtube.com/watch?v = 37owCjWnkK0
球拍和PS3上的Daniel Liebgold:http://www.youtube.com/watch?v = oSmqbnhHp1c
GNU Make可通过方案扩展。现实世界中的编程案例:)
https://www.gnu.org/software/make/manual/html_node/Guile-Integration.html
Lisp尝试在80年代初转向光速运动。在出现PC之前,已经出现了商业生产的“ Lisp机器”,其外观超级像现代工作站,但它们却“一直向下”。Lisp硬件最终输给了英特尔(其他所有方面也是如此)。Lisp软件最终输给了C / C ++。有各种各样的理论为什么会这样。 http://www.andromeda.com/people/ddyer/lisp/
对于AutoCAD应用程序,AutoLISP / Visual LISP在实际项目中经常使用,并且有大量用户。
我看到一些人已经提到过它,但是lisp在自定义Autocad开发中被广泛使用。Autocad包含一个内置的Lisp解释器。它是扩展产品的最简单方法之一,并具有快速提高生产率的能力。
在用户侧不需要编译,并且可以在命令行上输入1个或更多行Lisp表达式,并在图形上立即执行。对于愿意走一小步来学习Lisp基础知识的设计师和制图员,它可以提供巨大的生产力。
Autocad确实提供了许多其他方式来定制其产品;ObjectARX(C ++),VB,C#等。lisp接口是迄今为止最容易学习和实现的接口。大多数其他开发环境以某种方式使用Lisp。
lisp解释器可在Autocad的早期版本中使用,称为变量和表达式。它是相当有限的,但是在用户中非常成功,因此很快添加了附加功能。后来,一个完整的可视化IDE出现了(我认为是2000版)。
我不愿意猜测Autocad可以使用几百万(数十亿?)行Lisp代码。在“ autocad .lsp”上进行的Google搜索返回230万次点击。
好的,足够的打字了,对我来说可以重新使用,为我当前的项目写更多的Lisp :)