Skip to content

Commit

Permalink
更新 前言部分
Browse files Browse the repository at this point in the history
  • Loading branch information
jinzhongjia committed Sep 13, 2023
1 parent 108de99 commit 1699128
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 3 deletions.
2 changes: 1 addition & 1 deletion learn/basic/hello-world.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,4 +94,4 @@ pub fn main() !void {

## 了解更多?

如果你想了解更多内容,可以看一看这个视频 [Advanced Hello World in Zig - Loris Cro](https://youtu.be/iZFXAN8kpPo?si=WNpp3t42LPp1TkFI)
如果你想了解更多内容,可以看一看这个视频 [Advanced Hello World in Zig - Loris Cro](https://youtu.be/iZFXAN8kpPo?si=WNpp3t42LPp1TkFI)
10 changes: 8 additions & 2 deletions learn/preface.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,19 @@ outline: deep

# 前言

::: warning
Zig 这门语言并不适合计算机初学者,如果你已经对计算机有了基础的了解,并且能够较为熟练的掌握一门高级编程语言,我才推荐你来学习它。
:::

你可能会疑惑,为什么要再学习一门如此 `low level` 的语言, C 难道不好吗?

C 很好,非常好,它非常成功,以至于 C 现在已经不再是一门语言,而是一个标准。
你可能会注意到,现在跨语言调用,基本都是遵循的C ABI,包括编译出来的各种库供其他语言使用,也都是 C 可以使用的动态链接库。

但由于历史原因,C 到现在已经处于一种较为割裂的存在,它本身有着一套自己的标准,但是不同的编译器却有着不同的“专属语法”,也就是不同编译器支持的语法实际上是 C 的超集!同时 C 本身没有一个属于自己的包管理器,各式各样的第三方包管理器。。。五花八门,像meson、cmake、xmake、vcpkg,而且均有上手难度。

历史上有不少语言都自诩是 C 的替代品,像Odin、Ada、Modula-2、Go,他们在某种程度上都算是失败了,当然 zig 的未来也可能是这样子,成为一个不是C的替代品,单独的一门语言,或许有人使用。但就现在来看,我认为 zig 还是很有希望称为 C 的代替品的,目前的语法均是围绕着语义明确化,减少隐式的执行,减少并高呢更好的跟踪错误。
历史上有不少语言都自诩是 C 的替代品,像Odin、Ada、Modula-2、Go,他们在某种程度上都算是失败了,当然 Zig 的未来也可能是这样子,成为一个不是C的替代品,单独的一门语言,或许有人使用。但就现在来看,我认为 Zig 还是很有希望称为 C 的代替品的,目前的语法均是围绕着语义明确化,减少隐式的执行,减少并高呢更好的跟踪错误。

或许可能有人会跟我说 Rust 比 Zig 好,我要说的是你说的基本是对的,目前情况来看,Rust 的的确确比 Zig 好很多,更为完善的生态,更多能拿得出手的代表项目,以及相较 Zi g 庞大很多的社区等等,但是在未来谁说的准呢? 更何况 Rust 和 Zig 并不是一个赛道上的东西,在我看来,Rust 的目标是 C++ 的替代, 因此我更愿意称之为“披着高抽象皮的low level语言”,Zig 的目标则是 C,而且目前 Zig 的特性也的确在这个方向发展。

所以我写了这个文档,zig 的社区需要更多的人来构建,帮助新人来更好的理解和学习 zig
所以我写了这个文档,Zig 的社区需要更多的人来构建,帮助新人来更好的理解和学习 Zig

0 comments on commit 1699128

Please sign in to comment.