zigの勉強
それ以前から漠然と知ってはいた
特徴
better C言語感
メモリは明示的に扱う
低レイヤを扱いたいけどrustほど複雑なことをしたくないときに便利
アルゴリズムとかメモリ管理とか勉強したいがいまさらCやC++を学びたくないときに良さそう
C,C++の資産と相性良い
ツールチェインとして良いらしい
C, C++がコンパイルできるのは、内部でClangを使っているから zig自身がコンパイルしてるわけではない
しかし、面倒事をzigがやってくれるので便利
コンパイラ、ビルドシステム、リンカ、標準ライブラリ、クロスコンパイル、キャッシュシステム…
Cのコードをzigに変換する機能はある
これは愚直にCをパースして、対応するzigの記述に変えている模様
オフサイドルールが無い
コードリーディングがしやすい
今ならコンパイラも多少は読めるのでzigコンパイラ読んで見る
キモのanalyze部分はまだ読めてないが
bunのコードも追ってみたが、愚直にjsを扱っていて、zigだから速い感はない
特定ライブラリの名前が出てくるのどうなの、感はある
汎用的な印象がないので覇権を取る感はないものの、技術的に爆速にできることが示されたら、同程度の速度をより良いやり方で求める動きは起こるだろうから、その点は期待ができる
ただ、そういう面倒事を愚直にやるのにzig言語はちょうど良さそうという気はする
そもそもランタイムとエンジンの違いをちゃんと把握してなかった
最新の何かの発表動画を見た感じ、後数年で1.0持ってくらしい
言語開発の期間としては平均的な年数
goは5年で1.0で、かなり速いとのこと