我即将在 Smalltalk (Pharo) 中构建一个项目。还有一个我打算使用的python库。现在,有3个选项:
- 那些 python 库的 Smalltalk 包装器
- 将 python 库移植到 Smalltalk
- 从头开始编写库(在 Smalltalk 中)以用于我的项目
以下是我的查询:
- 移植/包装的“基本”差异是什么(尚未在任何地方找到令人满意的解释)
- 如何知道何时使用哪一个(在所有三个中)?
- 任何可以让我获得进一步帮助/启动项目的资源或指针。
谢谢!
用本地语言编写函数,其唯一目的是调用外部库中的函数。目标是尽可能少地使用母语。例如,将数据类型从本地语言翻译成外部库语言等。
当外部库为:
端口只是从一种语言到另一种语言的翻译。一般来说,尽可能保持相同的逻辑。
在以下情况下移植是有意义的:
将 Re-Write 视为具有大量重构的 Port。目标是利用本地语言的特性以某种方式改进库(效率、可读性等)
在与移植相同的所有场景中,重写都是有意义的。决定是做一个简单的移植还是完全重写通常归结为一个问题: