monthly/202405/ #32
Replies: 1 comment
-
Zig 还是缺乏好用的依赖包管理系统,可能只有 C 程序员会觉得好吧。 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
monthly/202405/
观点/教程 Thoughts on Zig 又一篇 Zig 初学者的使用体验文档,如果你也在犹豫要不要学 Zig,这是个不错的经验参考。
I'm sold on Zig's simplicity : r/Zig 一个具有资深经验开发者,在这里描述了自己选择业余项目语言的经历:
Rust 越来越复杂,有种发展成 C++ 的趋势 C++ 新版本的特性(比如 module)LSP 支持的不够好,而且历史包袱严重 C 缺少元编程,并且没有命名空间 最后从 Andrew 的一个播客了解到 Zig,经过自己尝试,发现了 Zig 没有辜负他的期望,尽管是第一次写 Zig,但基本上没有什么难度, 每次遇到问题,仔细想几分钟就差不多有答案了。下面是他罗列的 Zig 的一些优势:
十分简洁,import 返回的是一个 struct,和其他变量一样使用 与 C 无缝交换, 具有 Result 效果的错误处理 唯一缺失的就是『接口』,但这一点并不是很关键,就像在 C里也没有,但是 C 可以做任何事 Zig's New CLI Progress Bar Explained Andrew 的一篇文章,讲述了在最新版的 Zig 中,对进度条的改进实现,现在的进度展示更加友好。
实现的难点在于在多线程环境下,如何保证高性能,文章中大致讲述了其实现:
首先通过预先分配好需要使用的结构,保证后续无需在进行 heap 申请 通过 atomic 操作来实现一个无锁的 freelist,用于申请、释放 Node Writing a task scheduler in Zig Openmymind 作者的又一力作,通过编写一个任务调度器,讲述了多线程编程的基本要领:
https://ziglang.cc/monthly/202405/
Beta Was this translation helpful? Give feedback.
All reactions