Open6
Zig
fosdem.org/2023/schedule/event/zigandguile/
このセッションの紹介文。
"With Zig and Guile you can use both at the same time and you won't have to fight the Rust borrow checker either."
みんなRustの方がいいのはわかっているけど、あのborrow checkerと「戦う」のは嫌なんだよね。
そこでZig
Zig言語はまだ若いからコンパイルエラーのときのメッセージが洗練されてないんだよね。完全にコンパイラ視点でエラーを報告するから、ソースコードをどう直すべきかわからないこともある。最近はGCCですらコンパイルエラーのメッセージが優しいからな。
comptimeが関係していると思うけど、ライブラリのソース内でエラーになることもある。そうするとその原因となった自分のコードの場所がわからなかったりする。コンパイル通った時点でこまめにgitにコミットしておくのがおすすめ。
Zig で正常系しか考慮しないサンプルプログラムはさくっと書けて簡単。だけど、それをライブラリ化するためにちゃんとエラーを返そうとするとけっこういろいろ考えないといけない。簡単そうなのは単に先延ばしにしただけだった。