forum icon indicating copy to clipboard operation
forum copied to clipboard

【Zig 日报】2024-05-04 Zig 项目中依赖的数量,多了好还是少了好?

Open jiacai2050 opened this issue 1 year ago • 0 comments

社区内一个有意思的讨论 Software dependencies in Zig Projects,主题就是一个 Zig 项目,依赖多了好还是少了好。

一些观点:

  • Zig 自带 C/C++ 编译器。因此,如果你的依赖项完全由 Zig 管理(即获取和构建),那么它们是否也用 Zig 编写就没什么区别了。不过,我认为这只适用于不值得用 Zig 重写的大型依赖项。比如 Lua 语言虚拟机。或者是 tree-sitter 或 ffmpeg。我认为一般来说 Zig 项目应该尽可能地完全独立于主机操作系统构建,不管它们是否有 C/C++ 依赖关系。这并不总是可能的(例如,Linux 上的 OpenGL 库) ,但是如果可能的话,它真的非常非常好。

  • 我首先想到的是整个 leftpad 危机,只要突然移除一个依赖项,整个软件生态系统就会瘫痪。这有点像 "叠积木"。这并不是说你永远都不会使用依赖关系,永远都要重新发明轮子,但似乎必须有一个 "合理的复杂性阈值",在这个阈值内,你可以决定不依赖第三方,而是自己编写代码。

  • 我们应该追求简单,而不是轻松。这更符合齐格的口号,齐格正在朝着这个方向前进。对于那些认为我们不应该不断重新发明轮子的人来说,如果我们没有一次又一次地重新发明轮子,我们就会拥有这样的东西。

image

jiacai2050 avatar May 05 '24 14:05 jiacai2050