開発者におめでとう!30,000行のPRは、言語コンパイラ(しかもかなり非トリビアルなコンパイラ)にとって誇らしい成果だね。でも、これほどの規模の変更は本格的な開発を意味していて、ちょっと考えさせられる。以下の2点は理解してるよ:1. 言語開発は一般的に難しいテーマで、特に広く採用されることを目指している言語や、インフラで数十年単位の使用を期待している言語にとっては特にそう。2. Zigはまだ若い言語で、1.0には達していなくて、TFAの投稿時点で明確に進化中だ。これらの点を考慮すると、次のコードバーグの投稿からの以下のカジュアルさには驚かされる:‘’’このブランチは「インスタンス化できない」型(noreturnのような、値を持たない型)の意味を変更します。最初はここでこれをやるつもりはなかったけど、マスターの意味に合わせるのがかなり難しかったから、既存の意味があまり意味をなさなかったんだ。’’’ Zigの言語やコンパイラ開発における特定の戦略や用語は知らないけど、ここでの「ブランチ」という言葉は、これは言語に完全に/正式に採用された変更ではなく、むしろ完全に実装された提案だと思う。たとえそれが変更の提案に過ぎなくても、書き直しの規模が大きく、著者がそれが好意的に受け入れられることを期待しているという明確な示唆は、あまり見られない自信に思える。生産用途のある言語の意味を変更することは、ほぼ定義上メジャーな変更で、PRが意味を変更すると軽々しく述べて、深い議論(以前にあったかはわからないけど)やその変更の限られた影響に関する真剣な正当化や声明なしに進めるのは、他のあまり「真剣」でない言語の進化(または退化)を見てきた中では経験したことがない。これは「この開発者」の問題なのか、Zigの問題なのか、それとも僕が現代の言語(あるいはもっと大規模な開発)プロジェクトに疎いだけなのか?それと、TFAの全体的な流れにはあまり重要ではないけど、著者が「現代のZig」というフレーズを使っているのが、Zigの年齢と現在の変化の速度を考えると、すごく面白い表現に感じた。