我在现有的Nim实现中添加了一个Rust实现。这比我想的要难,可能是因为我是新手。但是一旦运行,它确实运行得很好!
关于这个项目的更多思考。
担心构建过程的复杂性
交叉编译是解决这个问题的关键。我深入研究了这个问题。虽然我没有做Darwin,这是这个社区中非常重要的一部分,但我没有苹果电脑!两个项目都是从Linux创建Windows安装程序和Linux二进制文件。还提供了Docker文件和构建脚本,以进行平台无关且可重复的方式构建。
- 如果选择重写,我建议从Mac开始,执行提供的Docker构建,然后从同一台机器上覆盖所有三个平台。
- 对于Mac构建,这两个项目的代码应该都不会发生变化(虽然我难以保证)
- 如果我们只想做Windows,我们仍然可以从Windows、Linux、带有Docker的Linux或带有Docker的Mac上做。
因此,为了解决这个问题:一个有效的Docker是所有必要的设置,然后调用提供的docker_build脚本即可完成所有构建、打包,甚至构建Windows安装程序。
Nim与Rust
两个项目都有相同的功能
Nim
- 与之共事是一种乐趣 -> 优秀
- 易学、易读、易写 -> 优秀
- 在zip文件实现(我用它来规避TDEP-120)中发现了一个bug -> 已绕过,但不是很好
- 社区规模小 -> 不是很好
- 跨编译容易 -> 优秀
- 并非最佳选择 -> 差
- 简洁 -> 优秀
- VS代码支持良好 -> 优秀
Rust
- 束缚和纪律 -> 双重优点和缺点
- 稳如磐石 -> 优秀
- 编写更加困难 -> 不是很好
- 易于阅读 -> 大概还不错
- 与之共事很痛苦 -> 差
- 跨编译容易 -> 优秀
- 责任感强 -> 优秀
- VS代码支持良好 -> 优秀
- emacs支持极佳 -> 只有我会在意?
尽管Rust更为负责,但我不得不回到Nim实现中进行一些修复,之后回到Rust就像呼吸新鲜空气一样。
Rust版本显然未像Nim版本那样经过充分的测试。
我将当然会保持包装程序以及这两个重写版本的维护和更新,但在那里我将停止对此项目的积极工作。