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