rust 用来开发一些命令行程序是不是神器

2024-07-14 17:29:12 +08:00
 iorilu

最近又把 rust 捡起来学了

上次学了 2 个星期把

这次决定至少学完一本书把

我看的是 programming rust 第二版

主要目的是可能个人需要一些命令行程序, 虽然 python 方便, 但编译出来至少几十 m, 太大 而且编译麻烦

rust 至少随时就编译出来了, 方便用

10078 次点击
所在节点    Rust
57 条回复
fxxkbioinfo
2024-07-14 18:35:39 +08:00
clap 确实牛逼
wlingxiao
2024-07-14 18:38:48 +08:00
命令行程序我还是推荐用 go ,rust 的编译速度实在是太慢了。
apkapb
2024-07-14 19:05:45 +08:00
个人觉得 go 是神器
zzhaolei
2024-07-14 19:09:07 +08:00
go 在这方面还是好用的
zzhaolei
2024-07-14 19:09:35 +08:00
@zzhaolei #4 尤其是跨平台编译,无出其右者
yuanmomo
2024-07-14 19:11:12 +08:00
我现在用的是 go
powerman
2024-07-14 19:15:07 +08:00
python 快啊,rust 还要考虑 ownership
sakeven
2024-07-14 19:49:07 +08:00
@powerman python pyc 损坏处理比较麻烦,要删 pyc 文件。作为 cli 工具或者部署到大量客户端的,不太合适,维护麻烦。
cmdOptionKana
2024-07-14 19:54:34 +08:00
go 性能够用时就用 go, 追求更高性能才用 rust 。
DOLLOR
2024-07-14 20:11:21 +08:00
我推荐 dart ,也可以像 go 一样编译成一个几 MB 的可执行程序。(似乎 Google 家的东西都喜欢这样?)
而且 dart 语法基本跟 js 、java 大同小异,容易入手。
thedog
2024-07-14 20:15:00 +08:00
啊,好多语言啊,现在有没有什么工具能够让我写 python ,然后随便调用包,然后就能随便编译成任何其他语言的
kneo
2024-07-14 20:15:16 +08:00
rust 只在高性能领域才堪堪一用。其它领域都劝退。
w568w
2024-07-14 20:19:06 +08:00
clap 确实神器。

关于 Go ,不妨自己看看现在 Go 的 Argument Parsing 库哪个符合 GNU 规范的、哪个是在活跃维护的。每次找 CLI 相关库,一看 star 一堆,最后提交时间缺失「 4 年前」,都感觉 Go 的生态有一种垂垂老矣之相。Rust 这边就欣欣向荣多了。

另外说 Go 跨平台编译无出其右的…… 说实话,这套说法在 Rust 出来之前我还相信,现在 Rust 的编译体验比 Go 好多了,起码不用在那里摆弄 net 和 libc 的链接问题,还有纯血 Rustls 之类的系统替代库,实现一键全静态编译。

利益相关:臭写 Go 的,写 Go 比写 Rust 多。
w568w
2024-07-14 20:19:22 +08:00
@w568w 缺失->却是
yplam
2024-07-14 20:27:33 +08:00
如果对可执行文件大小以及内存占用有较高要求的话 Rust 的确挺合适,曾经给一个嵌入式 Linux 系统写过一个类 supervisor+OTA 功能的工具,优化后大小只有一百多 K ,用 go 的话要几 m 起步
RedBeanIce
2024-07-14 20:38:37 +08:00
go
zjp
2024-07-14 20:48:50 +08:00
像 uutils 这类 rust 重写的工具确实不少
treblex
2024-07-14 21:57:44 +08:00
Suomea
2024-07-14 23:14:58 +08:00
没有人提 C 吗
wwqgtxx
2024-07-14 23:18:28 +08:00
@w568w "摆弄 net 和 libc 的链接问题",请直接设置 CGO_ENABLE=0 ,之后就不需要摆弄了

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

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

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

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

© 2021 V2EX