Zig 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Zig 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Zig 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !

软件简介

Zig 是一种通用的编程语言和工具链,用于维护健壮最优可重用的软件

 小巧简洁的语言

专注于调试你的应用程序,而不是调试你的编程语言知识

  • 没有隐式控制流
  • 没有隐式内存分配
  • 没有预处理器,没有宏

 编译期代码执行

基于编译期代码执行和惰性求值的全新元编程方法

  • 编译期调用任意函数
  • 将类型作为值进行操作,而不会产生运行时开销
  • 编译期模拟目标架构

 用Zig维护代码

逐步改善你的C/C++/Zig代码库

  • 将Zig作为一个零依赖性的、支持开箱即用的交叉编译C/C++编译器
  • 利用它在所有平台上创造一个一致的开发环境:zig build
  • 在C/C++项目中添加一个Zig编译单元;默认情况下,跨语言的LTO会被启用
  • const std = @import("std");
    const json = std.json;
    const payload =
        \\{
        \\    "vals": {
        \\        "testing": 1,
        \\        "production": 42
        \\    },
        \\    "uptime": 9999
        \\}
    ;
    const Config = struct {
        vals: struct { testing: u8, production: u8 },
        uptime: u64,
    };
    const config = x: {
        var stream = json.TokenStream.init(payload);
        const res = json.parse(Config, &stream, .{});
        // Assert no error can occur since we are
        // parsing this JSON at comptime!
        break :x res catch unreachable;
    };
    pub fn main() !void {
        if (config.vals.production > 50) {
            @compileError("only up to 50 supported");
        }
        std.log.info("up={d}", .{config.uptime});
    }
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (17)

加载中
支持一下,不容易
2019/10/08 08:50
回复
举报

引用来自“caqis”的评论

坚持就是胜利,像d语言一样。默默无闻这么多年,终于赢来了flutter 的机会。
是Dart不是D语言
2019/04/12 22:58
回复
举报
哈哈哈哈,程序猿的幽默
2021/12/24 06:48
回复
举报

引用来自“caqis”的评论

坚持就是胜利,像d语言一样。默默无闻这么多年,终于赢来了flutter 的机会。
hahahahahah d
2019/04/12 19:07
回复
举报
坚持就是胜利,像d语言一样。默默无闻这么多年,终于赢来了flutter 的机会。
2019/04/12 08:50
回复
举报
赞,不管之后发展怎样,还是要支持下的。
2019/04/12 07:14
回复
举报

引用来自“大洋的顶端”的评论

看了下issues,惨不忍睹的BUG。 现在的时代变化了,不再是单打独斗的了。 从2005年后,出来的新的编程语言,全部归属于比较有名气的大公司的: Go-Google,Rust-Mozilla,Typescript-Microsoft,Kotlin-Jetbrains,Swift-Apple,Dart-Google. 其实可以看到,最近10年来,较为成功的语言全是依靠大公司力推才能登上舞台的。 至于有些个人开发者开发的语言这10年来也有,但是最后不了了之,主要原因有: 1:个人开发者能力、精力、财力有限,无法支撑起语言的长远发展。 2:语言的使用场景和推广无法扩展下去。 总的来说,缺少人力物力财力,所以最后的结局也很惨淡。

引用来自“dwcz”的评论

你这话是码农的理想,不是程序员的思维。
为了避免误会,再多说一句。你学语言是从一句一句语法开始。别人是扫一道语法,看看有啥新东西研究研究。所有知名编程语言都是在一片不知名的编程语言尸体上起来的。都不是相互抄袭--喔,是相互借鉴发展起来的。
2019/04/11 22:25
回复
举报

引用来自“大洋的顶端”的评论

看了下issues,惨不忍睹的BUG。 现在的时代变化了,不再是单打独斗的了。 从2005年后,出来的新的编程语言,全部归属于比较有名气的大公司的: Go-Google,Rust-Mozilla,Typescript-Microsoft,Kotlin-Jetbrains,Swift-Apple,Dart-Google. 其实可以看到,最近10年来,较为成功的语言全是依靠大公司力推才能登上舞台的。 至于有些个人开发者开发的语言这10年来也有,但是最后不了了之,主要原因有: 1:个人开发者能力、精力、财力有限,无法支撑起语言的长远发展。 2:语言的使用场景和推广无法扩展下去。 总的来说,缺少人力物力财力,所以最后的结局也很惨淡。

引用来自“kakai”的评论

像目人工智能用得最多的py最早就是个人设计开发的语言,C语言好像也是,能从0开始设计研发zig语言,我觉得这份魄力就该得到尊敬!
今非昔比
2019/04/11 22:01
回复
举报

引用来自“大洋的顶端”的评论

看了下issues,惨不忍睹的BUG。 现在的时代变化了,不再是单打独斗的了。 从2005年后,出来的新的编程语言,全部归属于比较有名气的大公司的: Go-Google,Rust-Mozilla,Typescript-Microsoft,Kotlin-Jetbrains,Swift-Apple,Dart-Google. 其实可以看到,最近10年来,较为成功的语言全是依靠大公司力推才能登上舞台的。 至于有些个人开发者开发的语言这10年来也有,但是最后不了了之,主要原因有: 1:个人开发者能力、精力、财力有限,无法支撑起语言的长远发展。 2:语言的使用场景和推广无法扩展下去。 总的来说,缺少人力物力财力,所以最后的结局也很惨淡。
像目人工智能用得最多的py最早就是个人设计开发的语言,C语言好像也是,能从0开始设计研发zig语言,我觉得这份魄力就该得到尊敬!
2019/04/11 21:57
回复
举报

引用来自“大洋的顶端”的评论

看了下issues,惨不忍睹的BUG。 现在的时代变化了,不再是单打独斗的了。 从2005年后,出来的新的编程语言,全部归属于比较有名气的大公司的: Go-Google,Rust-Mozilla,Typescript-Microsoft,Kotlin-Jetbrains,Swift-Apple,Dart-Google. 其实可以看到,最近10年来,较为成功的语言全是依靠大公司力推才能登上舞台的。 至于有些个人开发者开发的语言这10年来也有,但是最后不了了之,主要原因有: 1:个人开发者能力、精力、财力有限,无法支撑起语言的长远发展。 2:语言的使用场景和推广无法扩展下去。 总的来说,缺少人力物力财力,所以最后的结局也很惨淡。
你这话是码农的理想,不是程序员的思维。
2019/04/11 21:50
回复
举报

引用来自“大洋的顶端”的评论

看了下issues,惨不忍睹的BUG。 现在的时代变化了,不再是单打独斗的了。 从2005年后,出来的新的编程语言,全部归属于比较有名气的大公司的: Go-Google,Rust-Mozilla,Typescript-Microsoft,Kotlin-Jetbrains,Swift-Apple,Dart-Google. 其实可以看到,最近10年来,较为成功的语言全是依靠大公司力推才能登上舞台的。 至于有些个人开发者开发的语言这10年来也有,但是最后不了了之,主要原因有: 1:个人开发者能力、精力、财力有限,无法支撑起语言的长远发展。 2:语言的使用场景和推广无法扩展下去。 总的来说,缺少人力物力财力,所以最后的结局也很惨淡。
大部分人都不愿意浪费时间无偿参与开源项目,尤其是个人开发者的开源项目,反正高不过大公司的项目,参与干嘛。
2019/04/11 11:40
回复
举报
更多评论
发表了资讯
2021/12/23 07:31

Zig 0.9.0 发布,想要替换 C 的编程语言

Zig 0.9.0 已发布,Zig 是一种通用的编程语言和工具链,用于维护健壮、最优和可重用的软件。 此版本代表了团队近 6 个月以来的开发工作,共有 177 名不同的贡献者参与了进来,包含总计 2023 个 commit。 团队用一句话总结了 0.9.0 的主要变化:“工具链支持在更多场景中正常使用;修复了许多错误;自托管编译器完成了 44%;扩展了 Support Table;少量的语言特性变化;开始进行性能跟踪;标准库虽然尚未稳定,但变得更有用。” ...

10
4
发表于开发技能专区
2020/12/23 10:58

Zig 0.7.1 发布,想要替换 C 的编程语言

Zig 0.7.1 已发布,这是一个 bugfix 版本,共计修复了 69 个 bug。其中涉及到标准库、编译器、构建系统、compiler-rt、zig cc 和 zig c++ 等内容。 从 release notes 可以看到,此版本修复的问题集中在编译器上,这不难理解,因为上个版本发布时,团队指出 0.7.0 的主要目标之一正是实现自托管编译器。 Zig 是一门通用编程语言,专为稳定性、可维护性和性能而设计,追求替代 C 语言在系统编程上的最佳地位。Zig 具有以下值得关注...

12
3
发表于软件架构专区
2020/12/01 08:04

Zig 0.7.0 发布,想要替换 C 的编程语言

Zig 0.7.0 已发布,这是一门通用编程语言,专为稳定性、可维护性和性能而设计,追求替代 C 语言在系统编程上的最佳地位。Zig 具有以下值得关注的特性: 手动管理内存 与 C 语言竞争而非依赖它,Zig 标准库不依赖于 libc 轻量而简单,专注于调试应用而不是调试编程语言的知识 新的错误处理方法,与编写良好的 C 语言错误处理类似,但减少了很多冗余 调试模式下优化了快速编译时间,并在不确定行为发生时使用堆栈跟踪崩溃 Releas...

14
8
发表了资讯
2020/07/12 08:58

想替代 C 的 Zig 语言成立了基金会

Zig 语言官方宣布成立 Zig 软件基金会(Zig Software Foundation,ZSF)。 Today, I am proud to announce the Zig Software Foundation, a 501(c)(3) not-for-profit corporation, dedicated to promoting, protecting, and advancing the Zig programming language, supporting and facilitating the growth of a diverse and international community of Zig programmers, and providing education and guidance to student...

22
9
发表了资讯
2020/04/15 07:21

Zig 0.6.0 发布,想要替换 C 的编程语言

Zig 0.6.0 已发布,这是一门通用编程语言,专为稳定性、可维护性和性能而设计,追求替代 C 语言在系统编程上的最佳地位。Zig 具有以下值得关注的特性: 手动管理内存 与 C 语言竞争而非依赖它,Zig 标准库不依赖于 libc 轻量而简单,专注于调试应用而不是调试编程语言的知识 新的错误处理方法,与编写良好的 C 语言错误处理类似,但减少了很多冗余 调试模式下优化了快速编译时间,并在不确定行为发生时使用堆栈跟踪崩溃 Releas...

27
11
发表了资讯
2019/10/01 08:23

Zig 0.5.0 发布,想要替换 C 的编程语言

Zig 0.5.0 发布了。 Zig 是一门通用编程语言,专为稳定性、可维护性和性能而设计,追求替代 C 语言在系统编程上的最佳地位。Zig 具有以下值得关注的特性: 手动管理内存 与 C 语言竞争而非依赖它,Zig 标准库不依赖于 libc 轻量而简单,专注于调试应用而不是调试编程语言的知识 新的错误处理方法,与编写良好的 C 语言错误处理类似,但减少了很多冗余 调试模式下优化了快速编译时间,并在不确定行为发生时使用堆栈跟踪崩溃 Rele...

24
15
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
2015/09/25 01:29

C,D,Go,Rust,Nim,Zig,V,Julia,Py,C#,Kotlin 11语回文数大战!仅供娱乐参考!

娱乐!娱乐!请不要诋毁任何语言!!!! 我有个心愿!用汇编写一个!当年大学时没好好学汇编!惭愧!正在看汇编! 20200820 加入Kotlin语言,就不加java了。 20200817 加入 c# 版本! 20200816加入Julia和py版本! 20200815加入Vlang语言版本! 20200814加入zig语言的版本! 20171123 rust改用release编译且换官方时间库release编译后执行速度惊人; 20160829Nim改releas编译; 20160712]Rust 1.10MSVC编译; 20160527Rust1.9MS...

16
3
发表了博客
2014/03/03 22:38

Problem Statement for ZigZag

Problem Statement A sequence of numbers is called a zig-zag sequence if the differences between successive numbers strictly alternate between positive and negative. The first difference (if one exists) may be either positive or negative. A sequence with fewer than two elements is trivially a zig-zag sequence. For example, 1,7,4,9,2,5 is a zig-zag sequence because the differences (6,-3,5,-7,3) a...

0
0
发表于开发技能专区
2020/07/16 10:58

手植这棵自顶向下伸展树,何时亭亭如盖呢?

文章目录 前言 自顶向下原理图 说在前头 zig(单旋转) zig-zig(一字型旋转) zig-zag(之字型旋转) 合并树 我一直没看懂的示例 自顶向下伸展树代码实现 前言 伸展树,解释起来真的很晕。先看一下我写的关于伸展树的理论部分吧:伸展树,据说比AVL树要简单一些。简单个球啊,写完了我还是晕晕的,所以又看了很久。 但是,总有那么一瞬,总有那么一句话,会让你茅塞顿开。 所以,我再简单讲一遍自顶向下伸展树原理,自底向上是真的,...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了问答
2019/10/05 22:30

【一周】Linux限制root权限 | iOS永久性无解漏洞 | 微软新系统Win 10X

回顾一周社区热门资讯 第【四十二】期:20190928-20191004 点击相应标题,跳转阅读全文。 华为、OPPO、一加、realme 完成统一推送服务开发 按照联盟公布时间表,联盟计划于 2019 年底前推动国内主流厂商支持统一推送标准。这将极大提升我国消费者的手机使用下的使用体验,减少开发者对于推送服务接入成本。 iOS 设备存在永久性的不可修复漏洞,iPhone X 及以下型号均受影响 由于 bootrom 漏洞是硬件级别的问题,如果没有硬件修订...

4
23
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
17 评论
43 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部