互连两个 Smalltalk 的**方式**是什么?

What is **the** way to interconnect two Smalltalk(s)?

如果我想互连两个 Smalltalks,即 Smalltalk/XGemStone/S,您会推荐什么方法?我想在 Smalltalk/X 中有一个应用程序,在 GemStone/S 中有一个持久对象。

在进行任何开发之前,我试图调查这个问题。我发现了一些开源实现 - 我喜欢从别人的错误中学习,所以我不会重复他们。

我找到了 Pharo 的实现 - gt4gemstone - Glamorous Toolkit for remote work with Gemstone/S.

我还从 James Foster 那里找到了 - Jade 它取得了更多成就

Alternative Development Environment (IDE) for GemStone/S that runs on Microsoft Windows.

您建议从哪里开始?是否会阅读 gt4gemstoneJade 然后想出与 interconnect Smalltalk/XGemStone/S 类似的方法?

很高兴听到您对 GemStone 感兴趣(我的热情之一!)。与 GemStone 互操作性的关键是为 GemStone C 接口 (GCI) 提供包装器,这是一个用于连接到 GemStone 的 C 库。这是 每个 GemStone 客户端(无论是 C、Smalltalk 还是其他语言)与系统通信所使用的方法。

有关 Smalltalk 示例,请参阅 Jade 中的 GciLibrary*GciSession

有关可能是更清晰起点的其他几个近期示例,请参阅 GciForJavaScript, GciForPython

有关较旧的 (ruby) 示例,请参阅 gemstone_ruby

因此,我建议您研究一下 Smalltalk/X 外部函数接口 (FFI) 的影响,然后按照上面的示例连接到 GemStone。