3

关于 Smalltalk 和 Scheme,这里并不是一个真正的问题。我 3 周前才开始玩 Smalltalk,一直在 Squeak 和 Pharo 之间摇摆不定。两者都很棒,我很难认为 smalltalk 不是最流行的语言。一切都在一个图像中我不需要交互式命令提示符编辑器 Rdoc 的网页等我只需点击它就会乱七八糟,如果我这样做了,UiDesigner Open.我会得到一个接近 QT4 的 GUI 应用程序。我的小型数据库有数据库实用程序,例如magma

无论如何,我也开始在 Racket 中使用 Scheme,虽然涉及到很多 (),但它仍然非常简单;从一开始就似乎很合乎逻辑。我唯一发现的是有很多方案/Lisp 方言。Racket 似乎也是一个相当简单的环境,然而,值得注意的是,似乎有 Chicken 和 MIT 计划。

我应该使用 Chicken over Racket 或 MIT 有什么特别的原因吗?或相反亦然。良好的系统支持、数据库或 GUI 支持...等。

PS我显然没有选择最流行的语言,但我很开心:-)

4

2 回答 2

5

Racket 和 Chicken 都有很好的库支持。(GUI、数据库、网络等)。如果您只是玩得开心,我建议您使用 Racket。它完全支持方案标准(R5RS、R6RS)和良好的文档。有一些很好的 编程书籍使用 Racket 作为实现语言。另一方面,如果您正在寻找编译代码在各种硬件上的可移植性,Chicken 可能比 Racket 更好。

于 2010-12-21T10:30:28.877 回答
1

如果 R6RS 对您很重要,请选择 Racket。Chicken(除其他外)不符合 R6RS 标准,因为人们普遍认为它存在缺陷。R7RS 正在开发中,应该可以解决一些问题。就 R5RS 合规性而言,Chicken 努力保持标准(手册中有两页列出了差异)。Racket 的不同之处在于它在不久前摆脱了“Scheme”的名称。

也就是说,我的偏好在于鸡肉。鸡肉的 FFI 很棒(绑定鸡蛋更是如此)。由于它被编译为 C,因此与 C 库的接口是轻而易举的。我什至将 Chicken 的一些运行时源文件(手册中记录的过程)直接添加到我正在处理的 iPhone 应用程序中,连同翻译成 C 的 Scheme 代码,它就像一个魅力。没有必要以这种方式创建交叉编译环境,因为它都是 C 语言并由 XCode 编译。

鸡有很多鸡蛋,而且每天都在增长。我建议检查鸡蛋页面链接文本,看看它是否有你需要的东西。如果是这样,我强烈建议尝试一下。

于 2010-12-27T18:11:08.737 回答