在几年前参加的编程语言概念课上,我很喜欢 Scheme。自从阅读了 Paul Graham 对 Lisp 的评价后,我就一直打算回去重新学习 Scheme,看看它是否会总体上改进我的编程。
有没有用Scheme编写的知名软件作品?开源包?网站?
在几年前参加的编程语言概念课上,我很喜欢 Scheme。自从阅读了 Paul Graham 对 Lisp 的评价后,我就一直打算回去重新学习 Scheme,看看它是否会总体上改进我的编程。
有没有用Scheme编写的知名软件作品?开源包?网站?
它(曾经?)在某些开源软件包软件(例如 GIMP)中用作脚本语言。还有一些 GNU 项目使用 Guile(一种 Scheme 实现)作为他们的脚本语言。
有些程序不是直接用方案编写的,而是通过方案解释器提供脚本功能。一些例子是 gimp 和窗口管理器锯鱼。
我很确定ITA Software的大多数算法都使用了 Scheme。
Jak & Daxter系列游戏是用类似于 Scheme 的自定义语言编写的,称为GOAL。许多像垃圾收集和动态列表分配这样的 Schemey 功能不得不退出窗口才能使其在恒定的内存和时间中运行,但它仍然可以识别为 LISPish。GOAL 编译器是用 Commmon Lisp 编写的。
当然,Scheme 本身,以及DrScheme等 Scheme 环境都是用 Scheme 编写的!
此外,emacs 大量使用了自己的 lisp 方言,称为Emacs Lisp。这与 Scheme 非常相关,因为 Scheme 本身就是 Lisp 的一种方言。
有一个名为lambdanative的框架,用于为 ios、android、linux 和 windows 系统创建跨平台应用程序。应用程序的代码是用方案编写的,该方案后来使用 Gambit-C 翻译成 C,然后使用各种平台的 SDK 为它们编译。它很好地使用了方案语言,而且还有很长的路要走。
所以有很多使用这个框架用 Scheme 编写的应用程序。
我个人知道的两个:在一家电信公司工作时,我们安装了一个中间件产品,基本上是一个消息路由器,它是用 Scheme 编写的,并使用“schemelets”来识别和翻译消息。那是我第一次接触它。
第二个是特定的编译器和 IDE 套件(由于各种原因,我不能提及公司或产品,但它们来自可视化工具时代之前:-)。
Haxima 游戏引擎是用 Scheme 编写的,Nazghul 游戏也在 Scheme 中运行。两者都是免费软件,因此您可以根据需要实际学习甚至修改代码。