zig その3
ここのところ zig の練習を進めているのだが、だいぶ良い。
zls の改造 や, wasm の実験, microui の移植 あたりをこなして、 だいぶ慣れた。
C/C++ と連携させる、zig から C を呼ぶ、C から zig を呼ぶ、の双方ともに かなり高いレベルの使いやすさがある。
zig-0.10 の開発状況が SelfHosting コンパイラに注力しているところ。 これは重要なのだが、外見えの機能が良くなったりするところではない。 むしろ、一時的にバグが出たり、機能が後退したり(async が未実装だったり)する。 その次くらいから、また良くなるんでないか。
std にある async とか eventloop の痕跡を見ると、 そのうちに標準にライブラリに libuv 的なものが入りそうな感じがする。
zig は、型アノテーションを付けた python と c++ の間くらいの記述量でコードを書けるので 記述する速度と、実行速度のバランスがよい。 wasm に関しては使えると判断できた。
敢えて zellij のプラグインを zig で書くスタイルが良いかもしれぬ。
TODO:
zig 自前ビルド。llvm の準備から。 glibc-2.34 縛りを回避できるか知りたい
arm へのクロスコンパイル。 Android NDK を zig でやる