迁移一个开源 Python Flask 的项目,选 Go 还是 Rust

69 天前
 zhouhuab

我本人写过多年 Go 和 Rust ,自由职业开源从业者 。

之前是想招人用 Go 写,还特地发帖招人,效果不佳,现在决定自己写,反正闲着也是闲着,省下的钱可以改善生活。

我起初的想法是 Go ,但是这个项目有个特殊点在于高度依赖 Pandas 的 DataFrame ,Go 倒是有平替,但是质量不行而且年久失修,相比而言,Rust 的 Polars 就强大很多,而且 Polars 有 Python 版本,更加方便重用原有的插件系统(大量传递 DataFrame )。

其他方面的比较各有优劣,比如 Mixin Go 更好做,而 Rust 要么抛弃 Mixin ,要么就用不大友好的宏来做。同样还有很多 Decorator ,Rust 还是宏, Go 好像只能推倒 Decorator 了。Go 的插件系统好做些,但是考虑到 Polars 和支持 Python 插件,这个优势又不大明显了。

至于 Flask 本身平替这块,Rust 这几年在这方面发展很快,我感觉基本追平 Go ,要啥也都有啥。但是我还是相信这方面 Go 写起来生产效率更高一些,人也更好找。

3096 次点击
所在节点    程序员
25 条回复
zwy100e72
69 天前
以自己开心为目标的话,想写几轮都可以;以性能优化为目标的话,应该先做性能分析;以可用性、可维护性为目标的话,也应该先分析现状(“痛点”),再做考虑
zhouhuab
69 天前
@zwy100e72 你说错了,都不是
xgdgsc
68 天前
选 julia
adoal
68 天前
为什么要迁?
xingjue
68 天前
选 go 吧 好招人

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1069343

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX