202308 | 0.11 正式发布
2023-09-03 在 月刊
0.11 正式发布 0.11 终于在 8 月 4 号释出了,下面来看看它的一些重要改进吧。HN 讨论 Peer Type Resolution Improvements 对等类型解析算法得到改进,下面是一些在 0.10 中不能解析,但在 0.11 中可以解析的例子: Peer Types Resolved Type [:s]const T, []T []const T E!*T, ?*T E!?*T [*c]T, @TypeOf(null) [*c]T ?u32, u8 ?u32 …
202307 | 异步缺席 0.11
2023-08-07 在 月刊
重大事件 Andrewk 在最新的文章 The Upcoming Release Postponed Two More Weeks and Lacks Async Functions 中指出,即将发布的 0.11 中将不会包含对异步的支持,现在异步是在 stage2-async 这个分支上来开发,但是在开发过程中,总是有其他事情出现,然后 Andrewk 就先去搞这些事情了。因此,把对异步的支持放到 0.12 上了。 另一件事是 Jacob Young Joins the Core Zig …
202306 | Zig 要分叉了?
2023-07-01 在 月刊
重大事件 一个是这个:The Zig subreddit has closed,现在 Ziggit 算是官方钦定的论坛了。 另一个是月底出来的大新闻:File for Divorce from LLVM · Issue #16270 · ziglang/zig 这个 issue 主要讨论的是把 LLVM 从 Zig 中彻底移除,动机和优势都列在里面了,这里不再赘述,这里重点说下影响: 去掉 C++/Objc 的支持, 支持的 target 会变少 从 issue 本身和 Lobsters、HN …
202305 | HTTP is built-in
2023-06-16 在 月刊
重大事件 这个月主要的事情就是 HTTP server 在标准库的增加了,具体可参考: Coming Soon to a Zig Near You: HTTP Client http server in the standard library · Issue #910 观点/教程 Integrating Zig and SwiftUI Mitchell 在用 Zig 实现了一个终端后,虽然没有把源码放出来,但是有了这个文章总结。 Zig Language Server And …
202304 | 首次闯入 Tiobe 前 50
2023-05-03 在 月刊
重大事件 在 2023 四月份的 Tiobe 指数上,Zig 排名 46,尽管 Loris 发推表示这个数字对 Zig 来说没什么实际意义,但对于多数吃瓜群众来说,这还是十分让人鼓舞的。 For people who heard about Zig just recently: Zig is not 2x faster than Rust, despite what recent benchmarks might lead you to believe. You won't find …
202303 | 并发编译
2023-04-10 在 月刊
观点/教程 Creating arbitrary error values by using error.Something syntax 下面两种方式是等价的: 1 2 const err = error.FileNotFound; const err = (error {FileNotFound}).FileNotFound; Errors and Zig 主要讲述了 Zig 中如何处理错误,如何携带上下文信息 1 2 3 4 5 6 7 8 9 var x = try …
202302 | 精益求精的包管理
2023-02-26 在 月刊
包管理器进展 包管理器自 #14265 合并后一直在不断推进,以下两个是最主要的改变: build system terminology update: package, project, module, dependency 这里重新梳理了现在的术语,主要有以下几个: package 文件的集合,由文件的 hash 值唯一指定,一个 package 可能包含任意数目的 compilation artifacts 与 modules。 dependency 不同 package 之间的有向边, …
202301 | 包管理来了
2023-01-31 在 月刊
0.10.1 版本发布 一个小版本,主要是 bugfix。最主要的功能是:Package Manager MVP,Zig 终于开始支持包管理了! 不过才刚刚开始,有一个面板来跟踪相关 issue 进度。使用的配置文件是 build.zig.ini ,格式如下: [package] name=libffmpeg version=5.1.2 [dependency] name=libz …
202211 | 0.10 横空出世
2022-12-04 在 月刊
0.10.0 Release Notes 本月最大的事情就是 0.10 版本发布了,主要功能就是 self-hosted compiler,也称为『自举』,即可以用 Zig 来写 Zig 编译器,自举之所以对于一门语言如此重要,主要在于,这说明了该语言可以处理足够复杂的系统,不再只是玩具而已。编译的提升: Wall Clock Time: 43 seconds to 40 seconds (7% faster) Peak RSS: 9.6 GiB to 2.8 GiB (3.5x less …
202210 | 0.10 蓄势待发
2022-10-30 在 月刊
观点/教程 Zig Is Self-Hosted Now, What’s Next? | Loris Cro’s Blog | 0.10 即将在 11-01 号发布,Loris 回顾了目前 stage2 的进展,包管理器是下一个目标,但是不会引入中央仓库 Loris 会在 Twitch 直播这次的 release party Howto Pair Strings with Enums 利用 Zig comptime 的能力为 enum 增加描述信息 A Database …