我本人写过多年 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 写起来生产效率更高一些,人也更好找。
![]() |
1
R4rvZ6agNVWr56V0 2024-09-01 12:14:15 +08:00
Rust 不好招人。所以选 Go
|
![]() |
2
zhouhuab OP 烦请冲技术上分析,不要讨论招人的问题
|
![]() |
4
echoless 2024-09-01 12:44:15 +08:00
好奇是哪个开源项目? 为什么要重写?
|
6
ke1e 2024-09-01 13:10:15 +08:00 via Android
我觉得没有 Go 能做到 Rust 做不到的,但是你需要牺牲更多的精力去 make it work
|
![]() |
9
cmdOptionKana 2024-09-01 15:22:02 +08:00 ![]() 即使在 V 站,“写过多年 Go 和 Rust” 的人也不多,这个问题还不如你直接出结论给大家科普😂
|
10
Austaras 2024-09-01 15:40:39 +08:00
diesel 不支持 async ,虽然可能个人开发走 IPC 问题不大,但还是不爽
|
11
Austaras 2024-09-01 15:41:32 +08:00
rust 说影响开发速度肯定是影响,但都不考虑招人了那不如选喜欢的
|
12
codegenerator 2024-09-01 18:46:13 +08:00
完全没有看出来 go 和 rust 比 flask 好在哪里?
大多数情况使用 flask 的场景,go 和 rust 在这方面都比较菜 |
![]() |
13
zeusho871 2024-09-01 18:53:16 +08:00
llgo 可以直接有 py 生态 为什么不用?
|
![]() |
15
zeusho871 2024-09-01 19:57:12 +08:00
实在不行混合 py 干吧,直接 rpc 调用,或者把那部分代码用 nuitka 编译成类库给 go 调用
|
16
jollywang 2024-09-01 21:59:55 +08:00
用 go 和 rust 替换掉 flask, 主要目的是省钱? 确定? 换成这个能省钱, 那你这项目就必须得考虑招人啊
|
![]() |
17
noqwerty 2024-09-01 22:36:25 +08:00
迁移的目的是什么呢?如果是性能原因那先把 pandas 部分替换成 polars 观察一下是否比直接重写整个代码库要好一些
|
![]() |
18
IvanLi127 2024-09-01 22:41:44 +08:00
不能慢慢 Rust 掉嘛,既然已经有现成的项目了,也没必要立即全部换语言。
|
![]() |
19
DollarKiller 2024-09-01 22:42:27 +08:00
orm 感觉挺重的 rust sqlx 就挺好 rust 配合 chatgpt 写代码很快
|
![]() |
20
bronyakaka 2024-09-01 23:35:41 +08:00
肯定 rust 。go 库都是几年前的玩意,这么久没人维护你也用?
|
21
zwy100e72 2024-09-01 23:41:59 +08:00
以自己开心为目标的话,想写几轮都可以;以性能优化为目标的话,应该先做性能分析;以可用性、可维护性为目标的话,也应该先分析现状(“痛点”),再做考虑
|
23
xgdgsc 364 天前 via Android
选 julia
|
![]() |
24
adoal 364 天前
为什么要迁?
|
![]() |
25
nxcdJaNnmyF9O90X 364 天前
选 go 吧 好招人
|