我对 Gambit Scheme 非常感兴趣,尤其是它支持的广泛平台,以及它在需要时将 C 代码直接放入您的 Scheme 源代码的能力。也就是说,它是一个方案,与 Common Lisp 相比,它的“包含的电池”更少。有些人喜欢从头开始编写很多东西(又名有力的牦牛剃须),但我不喜欢!
这给我带来了两个问题,面向同时使用 Gambit 和一些 Common Lisp 风格的人:
1)哪个有效地更好地访问图书馆?Scheme 的库比 Common Lisp 少。然而,Gambit Scheme 可以更顺畅地访问 C/C++ 代码和库,这远远超过 Common Lisp 的库。在您看来,Gambit 的 FFI 的流畅性是否超过了它缺乏原生库?
2) Scheme 的对象系统(例如 TinyCLOS、Meroon)与 Common Lisp 的 CLOS 相比如何?如果您发现它们缺少,您最想念哪些功能?最后,首先,Lisp/Scheme 中的对象系统有多重要?我听说整个基于 lisp 的公司(例如 ITA Software)完全放弃了 CLOS。Lisp/Scheme 中的对象真的那么可选吗?我确实担心如果 Gambit 没有好的对象系统,我可能会错过它们(我的编程背景是纯面向对象的)。
感谢您帮助有抱负的 C++/Python 转换,
——马特
PS:有超过 1500 代表的人,你能创建一个“gambit”标签吗?:) 谢谢乔纳斯!