快速注册 找回密码

QQ登录

只需一步,快速开始

查看: 340|回复: 5

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

[复制链接]

该用户从未签到

发表于 2020-5-19 09:05:52 来自手机 | 显示全部楼层 |阅读模式
Zig 0.5.0 发布了。
FXWnx01X8JBQ6XbX.jpg

Zig 是一门通用编程语言,专为稳固性、可维护性和性能而计划,寻求替换 C 语言在体系编程上的最佳职位。Zig 具有以下值得关注的特性:

  • 手动管理内存
  • 与 C 语言竞争而非依靠它,Zig 尺度库不依靠于 libc
  • 轻量而简朴,专注于调试应用而不是调试编程语言的知识
  • 新的错误处置惩罚方法,与编写精良的 C 语言错误处置惩罚雷同,但淘汰了许多冗余
  • 调试模式下优化了快速编译时间,并在不确定举动发生时利用堆栈跟踪瓦解
  • ReleaseFast 模式和 ReleaseSafe 模式
  • 泛型数据布局和函数
  • 通过协程实现并发
  • 导入 .h 头文件并直接利用 C 语言的范例、变量和函数
  • 导出要依靠 C 语言代码的函数,变量和范例,主动天生 .h 头文件
  • 可选范例而非空指针
  • 交织编译是重要用例
0.5.0 版本颠末 6 个月打磨,包罗了 1541 次 commit,带来了很多新的内容。
Zig 跟随 LLVM 的步调,前几天 LLVM 9 发布了,以是 Zig 现在升级到了 LLVM 9,不再兼容 LLVM 8。值得留意的是,这意味着 Zig 如今支持 RISC-V。同时 Zig 还可以以 Emscripten 为编译目的操纵体系。Emscripten 是一个独特的 LLVM 后端,它可以将 LLVM 字节码编译成 JavaScript(asm.js),往上追溯实在也就是通过 Clang 将 C 和 C++ 代码编译成 JavaScript(asm.js),可以大大简化现有代码在 Web 期间的重用。除了 asm.js,Emscripten 还支持 WebAssembly 这一更加先辈的 Web 技能,通过与 asm.js 雷同的机制,Emscripten 可以天生 WASM 二进制字节码。
现在 Emscripten 还不能自托管,之后可行的环境下,可以利用 WebAssembly 将其作为欣赏器中的 Zig 沙箱选项。
语言特性层面的重要更新包罗:

  • 切片范例不再具有字段访问,而是利用@typeInfo(Slice).Pointer.child。
  • 罗列笔墨隐式 cast 为带标志的 union。
  • 答应将可选指针隐式 cast 为可选c_void指针。
  • 添加了*[N]T隐式 cast 到[*c]T。
  • anyerror不再作为关键字。
  • @cmpxchgStrong 和 @cmpxchgWeak 如今在 x86_64 上支持 128 位整数。
  • comptime_int如今隐式 cast 为comptime_float
  • @typeOf 如今包管没有运行时副作用。
  • noinline函数声明中添加了关键字。
  • 如今可以比力并集标志和罗列笔墨。
  • 单位素enum默认设置为u0comptime_int仍答应作为显式罗列标签范例。
完备更新内容检察发布公告:
https://ziglang.org/download/0.5.0/release-notes.html
文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:Zig 0.5.0 发布,想要更换 C 的编程语言
本文地点:https://www.oschina.net/news/110270/zig-0-5-0-released

该用户从未签到

发表于 2020-5-19 09:17:54 | 显示全部楼层
rust搞了十几年都没换掉。。。

该用户从未签到

发表于 2020-5-19 09:30:13 | 显示全部楼层
C不大概被任何语言更换掉

该用户从未签到

发表于 2020-5-19 09:41:26 | 显示全部楼层
另有一个紧张的语言,它的计划理念影响了后续的许多语言,它就是约翰麦卡锡的lisp。

该用户从未签到

 楼主| 发表于 2020-5-19 09:54:01 | 显示全部楼层
手动管理内存就死了吧[捂脸]
头像被屏蔽

该用户从未签到

发表于 2020-5-19 10:06:16 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

社区精彩导读

Powered by Discuz! X3.4 © 2006-2020 Comsenz Inc

本站信息来自网络,版权争议与本站无关。一切关于该资源商业行为与[小城社区]无关。 如有侵犯您版权的,请邮件与我们联系处理(邮箱:10000@546800.com),本站将立即改正。
快速回复 返回顶部 返回列表