哪种语言编写的程序转成可执行文件比较方便(exe / binary file) ?

2023-07-04 00:23:01 +08:00
 aim467

想写一些小工具,主要是基于命令行上进行操作的工具,想问问大家哪个语言来写比较方便

13507 次点击
所在节点    程序员
159 条回复
ggvoking
2023-07-04 13:25:45 +08:00
首选 golang ,go 写起来真的舒服,交叉编译也方便。再也不想用 c#、python 写了。
次选 rust 。
flyqie
2023-07-04 14:00:17 +08:00
python 或者 go 吧。

看你自己,个人推荐用 go 。
raycool
2023-07-04 14:00:27 +08:00
那必须是 C#吧
LokiSharp
2023-07-04 14:06:18 +08:00
@lujiaxing #77 .net 性能还行但是冷启动慢,只适合做服务,不适合做小工具
howfree
2023-07-04 14:16:44 +08:00
java 使用 GraalVM 可以生产不同操作系统的可执行文件
hatsuyuki
2023-07-04 14:28:19 +08:00
首推 Rust
FightPig
2023-07-04 14:31:55 +08:00
我用 go 和 rust 都写过,整体 go 的话写起来轻松些,rust 不熟的话写起来太麻烦了
Slurp
2023-07-04 14:32:53 +08:00
@idealhs 🤪 .NET AOT 吹和 GraalVM 吹能不能消停点,用起来一堆限制还觉得支持完美也是厉害。
seakingii
2023-07-04 14:35:39 +08:00
windows 下推荐 c#,原因是 c#语法最方便
linux 或者跨平台推荐 go,库很多,编译方便
NoOneNoBody
2023-07-04 14:38:02 +08:00
写了几十个 python 脚本,自用没有分发需求,反而部分有不时改动一下,所以都没编译

有些传参只是文件路径的,直接在 total commander 工具栏加个按钮就当 GUI 用了
Slurp
2023-07-04 14:40:07 +08:00
还是那句话,作为用户巴不得你 Rust 写,Go 的 CLI 几乎都是透露着一种未完善的气息。

Rust 直接调用 Clap 解参数,log 日志,anyhow 错误处理,serde 解配置文件,toml_edit 还能基于结构增量修改配置,要 REPL 还能用 nushell 同款基础库 rustyline 。

能给用户带来非常统一完善的体验。而不是有些 Go CLI 上来一个 panic 给我整乐了。

写小工具 Rust 还具有最快的启动速度,最小的二进制体积,上个 O3 LTO 比 Go 小到不知道多少倍。
jlkm2010
2023-07-04 14:44:29 +08:00
cj
lerry
2023-07-04 14:52:22 +08:00
go ,编译以后单文件,不需要什么特别配置,很简单
poporange
2023-07-04 14:57:35 +08:00
python
brookegas
2023-07-04 15:07:09 +08:00
golang

交叉编译,直接用 mac 上瞬间编译出 linux 、mac 、windows 下的二进制文件
编译速度快到飞起
cat9life
2023-07-04 15:09:06 +08:00
当然是 go 最方便,没啥可争辩的
raptor
2023-07-04 15:11:01 +08:00
果然第一个就是 GO
a33291
2023-07-04 16:23:40 +08:00
@idealhs #66 您说得对 😊
storyxc
2023-07-04 17:13:01 +08:00
上面说用 java 写的也太搞了,虽然我也是干 java 的,但写工具这种活真没 java 啥事。没接触 go 之前我都是用 python ,接触了 go 之后全都是用 go 写,跨平台编译太香了。
DOLLOR
2023-07-04 17:36:39 +08:00
如果是命令行小工具,用 go 就行,dart 也可以。
退两步,那就 python 或者 node 。

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

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

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

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

© 2021 V2EX