【问题标题】:Scheme & Smalltalk计划和小谈话
【发布时间】:2010-12-21 07:32:57
【问题描述】:

这里不是关于 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 我显然没有选择最流行的语言,但我很开心 :-)

【问题讨论】:

    标签: debugging scheme interpreter smalltalk pharo


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • 我正在检查鸡肉,并开始阅读电梯宣传。有一部分引起了我的注意。 “与用 C、C++、Java、Python 和 Lua 编写的第三方库一起工作。支持主要数据库。” chicken 如何与第三方库合作?
      • 用 C 和 C++ 编写的第三方库很容易使用出色的 FFI 接口进行集成。与 Java、Python 和 Lua 的接口是通过使用一些可用的鸡蛋来完成的。从技术上讲,我不确定它们是如何工作的。
      • Cpython 库大多是带有一些 python 模块的 C dll
      猜你喜欢
      • 2023-01-28
      • 1970-01-01
      • 2012-06-19
      • 1970-01-01
      • 2016-02-14
      • 1970-01-01
      • 2021-10-30
      • 2015-07-25
      • 1970-01-01
      相关资源
      最近更新 更多