語言核心
描述:Zig和C語言競爭,和Rust一樣現代,但是比Rust引入的概念少,學習曲線相對低很多:
官方文檔:https://ziglang.org/
官方文檔閱讀筆記:
// Read:
- Zig's 的語法規格只用500行的PEG語法文件就可以描述.
- Zig沒有隱藏控制流,函數就是函數,隱藏控制流包括
- 類似D語言的@property函數,屬性讀取實際上是函數調用。有這種特性的語言包括但不限於:C#/JavaScript/..
- C++/D/Rust的函數重載,例如+符號函數重載。Rust的Trait本質上也是依賴函數重載實現。
- C++/D/Go,都有異常,代碼可能隨時被阻斷執行
- Zig通過消除隱藏控制流,讓代碼的邏輯全部通過關鍵字和函數調用就清楚明白的表達出來,便於閱讀。據調查工程師70%時間用在讀代碼上面。
// TODO:
- 性能和安全:
參考資料
- [1]Assorted thoughts on zig (and rust)
- [2] 一個從 Rust 切到 Zig 的例子 Why I rewrote my Rust keyboard firmware in Zig: consistency, mastery, and fun (https://kevinlynagh.com/rust-zig/)