我们会不定期举行线上会议来畅聊 Zig,感兴趣的朋友可以通过下面日历查看,或订阅这个 iCalendar。
线上会议地址:https://discord.gg/36C7H47t47?event=1304329702512787466
我们会不定期举行线上会议来畅聊 Zig,感兴趣的朋友可以通过下面日历查看,或订阅这个 iCalendar。
线上会议地址:https://discord.gg/36C7H47t47?event=1304329702512787466
2024-04-20,0.12.0 终于发布了,历时 8 个月,有 268 位贡献者,一共进行了 3688 次提交!下面是它的 Release notes:
ZigCC 对这个文档进行了翻译、整理,供需要升级适配的朋友参考:
为了庆祝这一盛事,ZigCC 决定在 2024-04-27 举行了一次线上的发行聚会,主要来讨论这次的版本,下面是视频回看地址:
在这次会议上,主要讨论了两部分内容:
第一是构建系统,0.12.0 版本对用户来说,主要是稳定了构建系统的 API,这对于 Zig 生态的构建十分重要,如果某用户写了一个基础库,但是升级 Zig 版本后,就没法编译了,可以想象,这是很沮丧的事情。
Zig 的构建系统分为两部分:
zig fetch
会去下载里面的依赖build.zig
文件,项目的构建器,由多个 Step 形成一个有向无环图,来驱动不同逻辑的进行,如安装头文件、编译静态链接库等。Step 里面最重要的是 Compile ,addTest、addExecutable 返回的都是它,主要功能是对代码进行编译。其他常见的 Step 还有
第二个是自己写的 x86 的后端,它可以不依赖 llvm 直接生成可以执行的汇编代码,这也是 make the main zig executable no longer depend on LLVM, LLD, and Clang libraries #16270 这个 issue 的基础。之前笔者以为所谓移除 llvm,是把 Zig 代码翻译成 C 代码,然后再有不同架构下的 C 编译器来生成最终的可执行文件,目前看这种想法是错误的, 尽管 Zig 有 C 这个后端,但目前看并不是解决这个 issue 专用的。
这就不得不好奇,Zig 团队难道要把生成所有架构下的二进制?还是说对于用的少的架构,直接生成 llvm 的 bc 文件,然后剩下的活再交给 llvm 去做? 目前笔者还没有十分明确的答案,希望今后能尽快搞清楚这个问题,也欢迎了解的读者留言指出。
稍微遗憾的是这次参会的朋友基本都还是处于观望阶段,希望下次能有些具体项目经验可以聊,See you next time!
在 2024-01-13 晚,ZigCC 社区举行了第三次线上会议,参会人员:
会议主要讨论了下面两个议题:
这是最近群里聊到的问题,由于 Zig 语言本身属于较新的技术,因此社区内资料比较少,这导致很多感兴趣的人没有一个好的学习途径。
但对中文环境来说,我们其实之前已经积攒了一些素材,是完全可以通过公众号的形式进行传播的,主要来源:
目前可以按照 Rust 日报的方式,每日截取其中的片段进行发送,方便读者在闲暇浏览阅读;另一方面,公众号也会介绍 awesome-zig 中的实际项目,同步他们的进展。
虽然名字是『Zig 日报』,但应该不会每天都发,毕竟 Zig 社区还比较年轻,但估计间隔不会超过 3 天,看后续运行实际效果再来调整频率。
主要参与人员:西瓜、金中甲
目前我们的成员在 Zig 的实践方面相对较少,因此决定目前不过多的去宣传,在积攒了一些实际项目经验后,再来考虑。
现在回看,距离第一次 ZigCC 线上会议过了一个月,经过 ZigCC 成员的努力,还是交出了一份比较满意的答卷,cookbook 项目斩获 400+ 的⭐️,而且我们也有了新的 logo,另外要感谢金中甲同学,他把之前自己写的教程捐给了 ZigCC,质量非常高,因此我们决定把他重命名为 Zig 语言圣经,熟悉 Rust 的朋友可能会知道原因。😃
也许在读文章的你也在犹豫是否能加入,担心没有 Zig 经验是否会有影响,其实这都不是核心,现在的成员也没说 Zig 经验有多丰富,只要有踏实做事的心态,愿意帮助他人即可,Zig 可以慢慢学,有想法的朋友可以邮件到 zig@liujiacai.net ,简单自我介绍,之后我会拉到对应群组中,便于开展后续的工作。
2023-12-23,ZigCC 社区开始了第二次线上会议,共有 5 名 Zig 爱好者参加,分别是:
这次会议主要是同步了之前会议落实的 action,主要是同步了不同项目的进展,由于临近年底,大家进度都不算太大,但还是有所进展,算是开了个好头😄
在第一次会议后,有一些朋友想加入 ZigCC 社区,经过简单筛选,新增一名成员:Reco,下面是他的一些履历:
其他技术兴趣经历
非常欢迎 Reco 的加入!也希望更多对 Zig 感兴趣的朋友加入我们,普及 Zig 在中文社区内的使用。联系邮箱:zig@liujiacai.net
2023 年 12 月 9 日,Zig 中文社区第一次线上会议隆重召开。共有 8 位 Zig 爱好者参加,分布在北上杭成、美国等不同地方。
和当年的从仙童半导体出逃的人数一样,不多不少。😄会议伊始,成员首先进行了个人简介,便于后续开展相应工作。随后,社区成员围绕 Zig 语言的普及进行了交流讨论。
在交流讨论环节,大家就 Zig 语言的普及面临的挑战和机遇进行了深入的探讨。其中,大家认为 Zig 语言的普及面临的主要挑战包括:
与此同时,大家也认为 Zig 语言的普及也具有一定的机遇,包括:
因此,第一阶段,我们打算推出一系列教程来帮助大家学习 Zig,目前主要有以下几个:
项目 | 参与人员 | 目标 | 仓库 |
---|---|---|---|
Zig 入门教程 | 金中甲 | 让没有编程背景的人可以有体系的学习 Zig | learnzig/learnzig |
Zig 教学视频 | Onion、Lambert | 同上,素材取自 Learning Zig 中文翻译 | |
Zig cookbook | 夜白、冯文轩 | 演示如何用 Zig 做某个功能 | zigcc/zig-cookbook |
Zig 构建系统教程 | 贺鹏、陈瑞 | 体验 Zig 编译系统的能力与优势、与其他构建系统的对比 | zigcc 网站系列文章 |
Zig 写 OS 教程 | 柠檬、西瓜 | 体现 Zig low level 的优势 | zigcc/how-to-write-os-in-zig |
Zig 惯用法 | 全体 | 收集 Zig 编程技巧 | zigcc/zig-idioms |
我们希望通过这些努力,提高 Zig 语言的知名度,完善 Zig 语言的生态,促进 Zig 语言的交流和学习。
Zig 中文社区第一次线上会议的召开,标志着 Zig 社区正式启航。如果读者对共建社区感兴趣,欢迎与我们联系。