Googleは、GoがAI時代のプログラミング言語の要件と合致する背景として、2009年の誕生当時から貫かれてきた「言語思想」を挙げている。
Goの開発者であるロブ・パイク氏らは、Goを単なるプログラミング言語ではなく「ソフトウェアエンジニアリング(SE)のための言語」として設計した。Googleは「ソフトウェアエンジニアリングとプログラミングは同義ではない」と強調している。
プログラミングが、コードを記述して実行し、目の前にある個別の課題を解決する行為を指すのに対し、ソフトウェアエンジニアリングは、複数の開発者が協調しながら、時間の経過とともに進化し続ける耐久性の高いシステムを設計し、実装・運用していく一連の活動を指すという。
「単にコードを速く書くための言語ではなく、チームで長期的にシステムを維持するためのエンジニアリング基盤としてGoが作られたからこそ、AIという『少し型破りだが強力なチームメイト』を迎えた今日において、その真価を発揮している」(Google)
チーム(人間とAI)による長期的な開発を持続可能にするため、GoogleはGoを単なる構文規則にとどまらない統合プラットフォームとして位置付けており、その理由を次のように挙げている。
SDLC(ソフトウェア開発ライフサイクル)の全工程をカバーする包括的な開発基盤とツール群を提供する。
表現方法をあえて制限し、チーム内の全開発者やAIが全く同じ方法でコードを構造化し、フォーマットを整え、テストを実行できるようにする。
今日記述したコードが10年後にもそのまま動作するだけでなく、10年後にも「優れたコード」として保守可能な状態を維持できる言語仕様の安定性を提供する。
これらの要素が組み合わさることで、最初にシステムを構築した開発者がプロジェクトを離れた後でも、長期間にわたって保守可能なシステムを維持できるようになる。「AIがチームの一員としてコードを生成する現代において、この基盤の重要性はかつてないほど高まっている」と、Googleは結論付けている。
AIコーディングはなぜ後から苦しくなるのか? 技術負債に続く「理解負債」「認知負債」という新たな落とし穴
AIにコードを書かせたら、“動くのに本番で壊れるバグ”が増えた? その原因と対策
LLM生成コンパイルエラーの「型チェック」関連は何%? 「AIに書かせる」言語選択をGitHubが解説
PythonをTypeScriptが抜き、開発者は「コードの生産者」ではなくなったCopyright © ITmedia, Inc. All Rights Reserved.