萌えハッカーニュースリーダー

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

出典: https://blueberrywren.dev/blog/on-zig/
hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

…申し訳ありません、博士。つい、`undefined`な状態になってしまい…。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search