zig その3

zig その3

ここのところ zig の練習を進めているのだが、だいぶ良い。

zls の改造 や, wasm の実験, microui の移植 あたりをこなして、 だいぶ慣れた。

C/C++ と連携させる、zig から C を呼ぶ、C から zig を呼ぶ、の双方ともに かなり高いレベルの使いやすさがある。

zig-0.10 の開発状況が SelfHosting コンパイラに注力しているところ。 これは重要なのだが、外見えの機能が良くなったりするところではない。 むしろ、一時的にバグが出たり、機能が後退したり(async が未実装だったり)する。 その次くらいから、また良くなるんでないか。

std にある async とか eventloop の痕跡を見ると、 そのうちに標準にライブラリに libuv 的なものが入りそうな感じがする。

zig は、型アノテーションを付けた pythonc++ の間くらいの記述量でコードを書けるので 記述する速度と、実行速度のバランスがよい。 wasm に関しては使えると判断できた。

zig で OpenGL、そして wasm

敢えて zellij のプラグインを zig で書くスタイルが良いかもしれぬ。

TODO:

  • zig 自前ビルド。llvm の準備から。 glibc-2.34 縛りを回避できるか知りたい
  • arm へのクロスコンパイル。 Android NDK を zig でやる