最終的な決定

それでも、これまでのところエラーハンドリングに対処する試みは、十分な牽引力を得ていません。私たちがどこにいるかを正直に評価するなら、私たちは問題の共有された理解も、そもそも問題があるということにみんなが同意しているわけでもないことを認めざるを得ません。

これを念頭に置いて、私たちは以下の実用的な決定を下しています:

Goチームの公式決定

今後、Goチームはエラーハンドリングのための構文的言語変更の追求を停止します。また、主にエラーハンドリングの構文に関係するすべてのオープンな提案と今後の提案を、さらなる調査なしに閉じます。

決定の根拠

この決定は提案プロセスが提供する正当化に基づいています:

提案プロセスの目標は、適時な方法で結果についての一般的な合意に達することです。提案レビューがissueトラッカーでの議論において一般的な合意を特定できない場合、通常の結果は提案が却下されることです。

さらに:

提案レビューが一般的な合意を特定できず、しかし提案が完全に却下されるべきではないことが明らかである場合があります。[…] 提案レビューグループが合意も提案の次のステップも特定できない場合、前進への道についての決定はGoアーキテクト[…]に渡され、彼らは議論をレビューして自分たちの間で合意に達することを目指します。

エラーハンドリング提案のいずれも合意に近いものに達しませんでしたので、すべて却下されました。GoogleのGoチームの最も上級メンバーでさえ、_この時点で_最良の前進道について全員一致で合意していません(おそらくそれはある時点で変わるかもしれません)。しかし、強い合意なしに、合理的に前進することはできません。

状況の現実的な評価

何年もの試行の後、私たちが直面している現実を認識する必要があります:

合意の欠如

  • Goチームによる3つの本格的な提案
  • 文字通り数百もの(!)コミュニティ提案
  • そのほとんどはテーマのバリエーション
  • すべてが十分な(圧倒的ではなく)支持を集めることに失敗

コミュニティの努力の価値

コミュニティは、これらの問題を探索し、議論し、議論することに途方もない努力を注いできました。これがエラーハンドリング構文の変更にはつながらなかったかもしれませんが、これらの努力はGo言語と私たちのプロセスの他の多くの改善をもたらしました。

今後の可能性

おそらく、将来のある時点で、エラーハンドリングについてより明確な全体像が現れるかもしれません。それまでは、私たちはこの信じられない情熱を、すべての人にとってGoをより良くする新しい機会に集中することを楽しみにしています。

感謝

ありがとうございました!

Goチームは、長年にわたってエラーハンドリングの改善に貢献してくださったすべてのコミュニティメンバーに深く感謝しています。この取り組みは言語の進化と改善への皆さんの献身を示しており、Go言語とコミュニティ全体をより強くしています。

エラーハンドリングの構文的改善は実現しませんでしたが、この議論と努力の過程で得られた知見と経験は、今後のGo言語の発展において価値ある資産となるでしょう。