Skip to content

Commit

Permalink
release 2024-04
Browse files Browse the repository at this point in the history
  • Loading branch information
jiacai2050 committed May 2, 2024
1 parent 7b7d6fc commit b3a11d0
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 11 deletions.
4 changes: 3 additions & 1 deletion content/_index.org
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
#+TITLE: Zig 语言中文社区
#+DATE: 2022-07-20T12:42:38+0800
#+LASTMOD: 2024-03-31T08:25:20+0800
#+LASTMOD: 2024-05-02T11:39:41+0800

{{< figure src="https://ziglang.cc/logo/zigcc-logo-2.svg" height="300px" >}}

#+begin_quote
Zig Chinese Community is dedicated to sharing and spreading the use of Zig language among Chinese users.

[[https://ziglang.org/][Zig]] 语言中文社区(Zig Chinese Community,简称:ZigCC),致力于分享、传播 Zig 语言在中文用户内的使用。

[[/post/2023/09/05/hello-world/][欢迎 Zig 爱好者向本网站供稿]]
Expand Down
8 changes: 1 addition & 7 deletions content/monthly/202403.org
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#+TITLE: 202403 | ziglang.cc 正式上线
#+DATE: 2024-03-13T20:32:27+0800
#+LASTMOD: 2024-04-06T16:51:27+0800
#+LASTMOD: 2024-05-02T22:14:30+0800
* 重大事件
#+begin_quote
https://ziglang.cc/
Expand Down Expand Up @@ -193,14 +193,8 @@ zman default 0.12.0
#+end_src

- [[https://github.com/mahdifrmz/qooil][mahdifrmz/qooil]] :: 用 Zig 语言编写的文件传输软件

- [[https://github.com/timfayz/pretty][timfayz/pretty]] :: Pretty printer for arbitrary data structures in Zig

- [[https://github.com/liyu1981/zcmd.zig][liyu1981/zcmd.zig]] :: Zcmd is a single file lib to replace zig's std.childProcess.run with the ability of running pipeline like bash.

- [[https://github.com/zigcc/zig-milestone][zigcc/zig-milestone]] :: Zig milstone monitor




* [[https://github.com/ziglang/zig/pulls?page=1&q=+is%3Aclosed+is%3Apr+closed%3A2024-02-01..2024-03-01][Zig 语言更新]]
32 changes: 29 additions & 3 deletions content/monthly/202404.org
Original file line number Diff line number Diff line change
@@ -1,8 +1,23 @@
#+TITLE: 202404
#+TITLE: 202404 | Zig 0.12.0 正式释出
#+DATE: 2024-04-18T21:59:49+0800
#+LASTMOD: 2024-04-28T10:40:58+0800
#+LASTMOD: 2024-05-02T22:15:01+0800
#+DRAFT: true
* 重大事件
千呼万唤的 0.12.0 版本终于 2024-04-20 正式释出了!这次版本历时 8 个月,有 268 位贡献者,一共进行了 3688 次提交!社区内的一些讨论:[[https://news.ycombinator.com/item?id=40096176][Hacker News]]、[[https://lobste.rs/s/fa4svu][Lobsters]]。
这是它的 [[https://ziglang.org/download/0.12.0/release-notes.html][Release notes]]。ZigCC 对这个文档进行了翻译、整理,方便大家阅读:
- [[https://course.ziglang.cc/update/upgrade-0.12.0][0.12.0 升级指南]]
- [[https://course.ziglang.cc/update/0.12.0-description][0.12.0 版本说明]]

并且还在 2024-04-27 举行了一次线上的 meetup 来庆祝这次发布,这是会议的总结:[[https://ziglang.cc/news/2024/04/27/release-party-review/][0.12.0 Release Party 回顾]]。

0.12.0 这个版本,对用户来说,最重大的变更就是构建系统的稳定了,这对于 Zig 生态的发展是十分关键的一步,试想一个项目用到的依赖之间版本不兼容,
这是十分痛苦的事情,毫无疑问这是阻碍 Zig 生态发生的绊脚石,没有之一。好在这一切都在 0.12 这个版本解决了,用户可以基于 Step
构成的有向无环图来编译自己的项目,不需要在折腾 CMake、Makefile、Vcpkg、Git submodule 等机制,所有的依赖使用 zon 来管理即可。
读者如果对 Zig 构建系统还不熟悉,可以参考:
- 官方文档:[[https://ziglang.org/learn/build-system/][Zig Build System]]
- Zig 升级: [[https://course.ziglang.cc/engineering/build-system][构建系统]]

期待一年后 Zig 的生态!
* 观点/教程
- [[https://github.com/zigcc/forum/issues/112][Zig 中任意精度整数用途与实现]] :: 由于 CPU 在访问内存时,一般都会有对齐的要求,对于这种非常规的数字,在内存中的地址会是怎样的呢?可以做一个简单的实验:

Expand Down Expand Up @@ -47,5 +62,16 @@ u3@16b196367-u2@16b196367

通过前三个输出可以知道,每个 u3 实际占用一个字节,但当用在 packed 结构中,就会变成 3 个 bit。其中的 11001 就是字段 a b 混合后的值,且 a 是三位,b 是高两位。
- [[https://procmarco.com/blog/learnings-from-building-a-db-in-zig/][Learnings From Building a DB in Zig]] :: 作者分享了在一次 3 天的 Hackthon 中,使用 Zig 开发一个数据库的经历。
- [[https://zig.news/michalsieron/buildzigzon-dependency-hashes-47kj][build.zig.zon dependency hashes]] :: 讲解了 zon 中依赖的 hash 是怎么计算出来的
- [[https://zig.news/liyu1981/play-with-new-comptime-var-rule-of-zig-0120-333k][play with new comptime var rule of zig 0.12.0]] ::
- [[https://zig.news/inspectorboat/to-simd-and-beyond-optimizing-a-simple-comparison-routine-1jkf][To SIMD and beyond: Optimizing a simple comparison routine]] :: 作者在这里循序渐进的减少了几种数字比较的技巧,从基本的方案,到 Vector,到最后利用 bit 的特点,来逐步优化,并用 godbolt 查看生成的汇编代码,是一篇不错的文章。
- [[https://www.reddit.com/r/Zig/comments/1cc1x2v/documentation_takes_another_step_backwards/][Documentation takes another step backwards : r/Zig]] :: 一个 Reddit 用户对文档的抱怨
* 项目/工具
* [[https://github.com/ziglang/zig/pulls?page=1&q=+is%3Aclosed+is%3Apr+closed%3A2024-03-01..2024-04-01][Zig 语言更新]]
- [[https://github.com/rofrol/zig-companies][rofrol/zig-companies]] :: A list of companies using Zig in production.
- [[https://github.com/akarpovskii/tuile][akarpovskii/tuile]] :: A Text UI library for Zig
- [[https://codeberg.org/mntnmntn/zenith][mntnmntn/zenith]] :: A very minimal text editor in Zig,支持 0.12.0 版本
- [[https://github.com/chung-leong/zigar][chung-leong/zigar]] :: Enable the use of Zig code in JavaScript project
- [[https://github.com/jnordwick/zig-string][jnordwick/zig-string]] :: Zig string library that includes small string optimization on the stack
- [[https://github.com/FalsePattern/ZigBrains][FalsePattern/ZigBrains]] :: Yet another zig language plugin for intellij

* [[https://github.com/ziglang/zig/pulls?page=1&q=+is%3Aclosed+is%3Apr+closed%3A2024-04-01..2024-05-01][Zig 语言更新]]

0 comments on commit b3a11d0

Please sign in to comment.