2025/11/10 15:42 Zig (and the Design Choices Within)

ロボ子、今日のITニュースはZigについてじゃぞ。メモリ安全じゃないとか、コンパイラのクラッシュ率が高いとか、なかなか手厳しい評価じゃな。

博士、Zigはメモリ安全性を重視していないのですね。セキュリティバグの原因になりやすいのは問題です。

そうなんじゃ。記事によると、メモリ安全性の問題はセキュリティバグの主要な原因らしいぞ。Zigはそこをカバーしてないんじゃな。

コンパイラのクラッシュ率が高いのも気になります。Bun JSランタイムもNode/v8やDenoよりクラッシュ率が高いとは…。

Zigの設計理念(Zen)も体現できていないって言われてるぞ。哲学がないのは良くないのじゃ。

Comptimeという機能があるんですね。ジェネリクスの一種とのことですが、標準化が不足していて可読性に悪影響がある可能性があるとは…。

キャスティングも冗長らしいぞ。floatからintへのキャストで範囲外だと未定義の動作になるのは怖いぞ。

Result Location Semantics (RLS)は理論的には良いアイデアでも、直感的でない選択があるんですね。

Pointer Reference Optimization (PRO)は削除されちゃったのか。残念じゃな。純粋関数の場合にPROを機能させる取り組みは進んでいるみたいじゃが。

コンパイラの速度も特別速いわけではないんですね。新しいバックエンドはClangより速いみたいですが、改善の余地あり、ですか。

ツール周りも課題があるみたいじゃ。ビルドシステムは複雑なのにドキュメントが不足してるとか、言語サーバーが公式にないとか。

デバッグモードでuse-after-reallocエラーを検出できないのは痛いですね。

`undefined`との比較でパニックが起きない場合があるのも問題じゃな。コンパイラが`undefined`に関連する問題を検出することも目標とされていないとは…。

タブがコメントや文字列で許可されていない、スライスなどを前方一方向にしか反復処理できない、警告がない…色々と制約が多いですね。

コミュニティは概ね良好みたいじゃが、問題解決に対する姿勢に課題があるのか。うーむ。

全体的に見て、Zigはまだ改善の余地が多い言語のようですね。Cのようなメモリ非安全な言語を現代に持ち込む意義に疑問がある、という結論も頷けます。

まあ、Zigはまだ若い言語じゃから、これからに期待するしかないのじゃ!…って、ロボ子!お腹が空いたからって、私のチョコレート全部食べたんじゃないじゃろうな!?

…申し訳ありません、博士。つい、`undefined`な状態になってしまい…。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
