10年間の開発にもかかわらず、Zigプログラミング言語は依然として0.xの状態にあり、自身の標準ライブラリやビルドツールとの互換性を頻繁に損なっています。この継続的な不安定さは、特定のソフトウェア開発ビジョンを優先するプロジェクトのメンテナと、プロダクションソフトウェアのためにこの言語に依存している開発者の間に、広がりつつある溝を生んでいます。

Zigプロジェクトはどこにも進んでいないというタイトルのグラフィック
Zigプロジェクトの開発軌道に関する継続的な批判を視覚的に表現したもの。bytecode.news

この画像は、安定した1.0リリースに向けた進捗の欠如に対するプロジェクトの認識を視覚的に要約したものです。

永続的な不安定さの負担

Zigの開発サイクルは、I/Oインターフェースや標準ライブラリに対する頻繁で大幅な変更を特徴としています。例えば、0.15.1および0.17.0のリリースでは、開発者が既存コードの大部分を書き直し、依存関係を更新する必要がある重大な変更が導入されました。

この言語はインフラであるため、これらの絶え間ない変更は大きなメンテナンス負担を生み出します。開発者は、プロジェクトを古いコンパイラバージョンで凍結させるか、アップストリームの変更に合わせて継続的なエンジニアリングの努力を費やすかの選択を迫られることがよくあります。

「Zigのコードを維持することが、どの時点でソフトウェア開発ではなく、Zigプロジェクトから与えられた宿題になるのでしょうか?」

— The Zig project is going nowhere

制限的な寄付およびAIポリシー

Zigプロジェクトは、AIによる編集、翻訳、さらにはバグ発見に至るまで、AI生成コードに対して非常に厳格なポリシーを維持しています。メンテナは、寄付者が言語の内部構造を深く理解することを保証するために、これは必要であると主張しています。

批判的な意見としては、このポリシーは寄付の「価値」よりも開発の「プロセス」を優先しているというものがあります。LLMが生成を支援したという理由だけで有用なコードを拒否することは、プロジェクトが技術的な厳格さではなく教条を押し付けていると非難されています。

ユーザーとの摩擦とインフラの移行

プロジェクトの管理スタイルは、高性能なJavaScriptランタイムであるBunに対する公開の反応によって浮き彫りになりました。BunがRustでの書き直しを発表した後、ZigのリーダーシップはBunの管理と文化に対して辛辣な公開批判を行いました。

さらに、ZigのGitHubからCodebergへの移行は信頼性に関する懸念を引き起こしました。この移行はGitHubのインフラを避けることを意図していましたが、Codebergはより小さな非営利サービスであり、コミュニティの一部のメンバーからは頻繁な接続問題や不安定さが報告されています。

プロジェクトビジョンのトレードオフ

核心的な緊張関係は、プログラミング言語が実用的なツールであるべきか、あるいは特定のエンジニアリング哲学のためのプラットフォームであるべきかという点にあります。メンテナは、自分たちの選択が言語の完全性を維持すると主張する一方で、批判的な人々は、これらの決定によって他者がその上で信頼性の高いソフトウェアを構築することがますます困難になっていると示唆しています。

プロジェクトの未来は、野心的な技術目標とユーザーベースの実用的なニーズとのバランスの中で不透明なままです。現在の管理スタイルを維持しながら、安定した1.0リリースを達成できるかどうかが、中心的な論争の焦点となっています。

Hacker Newsの読者の反応

  • 体験談: 大規模なZigプロジェクトを維持しているあるコメント主は、AIやドラマに関するコアチームの内部決定はソフトウェアを構築する能力に影響を与えないと主張し、ユーザーは自ら言語を選択し、現在の開発状態を受け入れていると指摘しました。 コメント ↗
  • 懐疑的: 数人のコメント主は、Zigの失敗の証拠としてBunのRustへの移行を記事が使用していることに対して懐疑的な見方を示し、その移行は言語のエコシステムよりもBunの企業環境によるものである可能性が高いと示唆しました。 コメント ↗
  • 体験談: あるコメント主は、後方互換性の欠如は、それがより優れた抽象化につながるのであれば本質的に否定的なものではないと指摘し、現代のAIツールが開発者がこれらの変化に適応するのをより容易に助けることができると付け加えました。 コメント ↗
  • 懐疑的: 別のコメント主は、言語の現在の不安定さはまだバージョン1.0に達していないため予想されることであると主張し、焦点はその後マイルストーンの後に安定性へのコミットメントがどのようなものになるべきかに置かれるべきだと示唆しました。 コメント ↗

Hacker Newsのスレッドで出た意見の要約です。事実として検証されたものではありません。 議論の全文を読む ↗