Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

[インデックス 19297] ファイルの概要

このコミットは、Go言語のインストールガイド doc/install.html の内容を更新するものです。具体的には、Goがサポートするオペレーティングシステム(OS)とコンパイラの最小バージョンに関する記述が修正されています。

コミット

commit f5a4d241cd5e2fe6fb2a50576eb95d16828857f1
Author: Shenghou Ma <minux.ma@gmail.com>
Date:   Thu May 8 01:25:28 2014 -0400

    doc/install.html: update wrt to OS and compiler support.
    Update #7188
    Fixes #7894.
    
    LGTM=alex.brainman, bradfitz, r
    R=golang-codereviews, alex.brainman, mikioh.mikioh, gobot, r, bradfitz
    CC=golang-codereviews
    https://golang.org/cl/95870043

GitHub上でのコミットページへのリンク

https://github.com/golang/go/commit/f5a4d241cd5e2fe6fb2a50576eb95d16828857f1

元コミット内容

doc/install.html: update wrt to OS and compiler support.
Update #7188
Fixes #7894.

変更の背景

このコミットの背景には、Go言語のサポート対象OSおよびコンパイラの要件が時間とともに変化したことがあります。Goプロジェクトは継続的に開発されており、それに伴い、古いOSバージョンやコンパイラのサポートが終了したり、新しいバージョンが最小要件となったりすることがあります。

コミットメッセージにある #7188#7894 は、当時のGoのIssueトラッカーにおける課題番号を示しています。これらのIssueは、おそらく doc/install.html に記載されているサポート情報が現状と乖離していることを指摘していたと考えられます。具体的には、FreeBSDの最小バージョンが7から8へ、Windowsの最小バージョンが2000からXPへと引き上げられたこと、およびWindowsにおけるMinGW gccの使用に関する記述の微調整が、これらのIssueの解決に繋がったと推測されます。

ドキュメントを最新の状態に保つことは、ユーザーがGoを正しくインストールし、利用するために不可欠です。古い情報が残っていると、ユーザーが不必要なトラブルに遭遇する可能性があるため、このようなドキュメントの更新は定期的に行われます。

前提知識の解説

Go言語のクロスプラットフォームサポート

Go言語は、その設計思想の一つとして、高いクロスプラットフォーム互換性を持っています。これは、Goで書かれたプログラムが、特別な変更なしに様々なオペレーティングシステム(Linux, macOS, Windows, FreeBSDなど)やアーキテクチャ(amd64, 386, armなど)で動作することを意味します。Goのコンパイラ自体も、これらの異なる環境向けにバイナリを生成できます。

doc/install.html

doc/install.html は、Go言語の公式ドキュメントの一部であり、Goをシステムにインストールするための詳細な手順と、サポートされる環境に関する情報を提供しています。このファイルは、Goのソースコードリポジトリ内に存在し、Goのウェブサイト(golang.org)上で公開されるインストールガイドの基となっています。

オペレーティングシステムとバージョン

  • FreeBSD: Unix系OSの一つで、堅牢性と高性能が特徴です。GoはFreeBSDをサポートしており、このコミットでは最小サポートバージョンがFreeBSD 7から8に更新されました。
  • Windows: Microsoftが開発する広く普及しているOSです。GoはWindowsもサポートしており、このコミットでは最小サポートバージョンがWindows 2000からWindows XPに更新されました。
    • Windows 2000: 2000年にリリースされたWindows NT系のOS。
    • Windows XP: 2001年にリリースされたWindows OSで、Windows 2000の後継。
  • MinGW gcc: Windows上でGCC(GNU Compiler Collection)を使用するためのツールセットです。Goのコンパイラは、一部のプラットフォームでCコンパイラ(gccなど)に依存することがあり、Windows環境ではMinGWがその役割を果たすことがあります。このコミットでは、MinGW gccの使用に関する記述がより明確にされています。

Issueトラッカー

ソフトウェア開発プロジェクトでは、バグ報告や機能要望、ドキュメントの改善提案などを管理するためにIssueトラッカーが使用されます。Goプロジェクトも同様にIssueトラッカーを利用しており、コミットメッセージに含まれる # に続く数字は、関連するIssueのIDを示します。

技術的詳細

このコミットは、doc/install.html 内のHTMLテーブルの2箇所を修正しています。このテーブルは、GoがサポートするOS、アーキテクチャ、および関連する注意事項を一覧表示しています。

  1. FreeBSDの最小バージョン更新:

    • 変更前: <tr><td>FreeBSD 7 or later</td> <td>amd64, 386, arm</td> <td>Debian GNU/kFreeBSD not supported; FreeBSD/ARM needs FreeBSD 10 or later</td></tr>
    • 変更後: <tr><td>FreeBSD 8 or later</td> <td>amd64, 386, arm</td> <td>Debian GNU/kFreeBSD not supported; FreeBSD/ARM needs FreeBSD 10 or later</td></tr>
    • この変更により、FreeBSDの最小サポートバージョンが「7以降」から「8以降」に引き上げられました。これは、GoのランタイムやツールチェーンがFreeBSD 7では適切に動作しなくなったか、あるいはFreeBSD 8以降の環境に最適化されたことを示唆しています。
  2. Windowsの最小バージョン更新とコンパイラ記述の修正:

    • 変更前: <tr><td>Windows 2000 or later</td> <td>amd64, 386</td> <td>use mingw gcc<sup>&#8224;</sup>; cygwin or msys is not needed</td></tr>
    • 変更後: <tr><td>Windows XP or later</td> <td>amd64, 386</td> <td>use MinGW gcc<sup>&#8224;</sup>. No need for cgywin or msys.</td></tr>
    • この変更により、Windowsの最小サポートバージョンが「2000以降」から「XP以降」に引き上げられました。Windows 2000は2000年にリリースされた古いOSであり、Goの新しい機能や依存関係がWindows XP以降の環境を必要とするようになったためと考えられます。
    • また、mingw gcc の表記が MinGW gcc となり、cygwin or msys is not neededNo need for cgywin or msys. と、より簡潔で自然な英語表現に修正されています。これは、ドキュメントの可読性向上を目的とした微調整です。

これらの変更は、Goのビルドシステムやランタイムが、より新しいOSの機能やAPIに依存するようになった結果として行われた可能性が高いです。古いOSバージョンでのテストやメンテナンスのコストを削減し、開発リソースをより新しい、広く利用されている環境に集中させるという一般的なソフトウェア開発のプラクティスに沿ったものです。

コアとなるコードの変更箇所

--- a/doc/install.html
+++ b/doc/install.html
@@ -44,10 +44,10 @@ proceeding. If your OS or architecture is not on the list, it\'s possible that
 <th align=\"middle\">Notes</th>
 </tr>
 <tr><td colspan=\"3\"><hr></td></tr>
-<tr><td>FreeBSD 7 or later</td> <td>amd64, 386, arm</td> <td>Debian GNU/kFreeBSD not supported; FreeBSD/ARM needs FreeBSD 10 or later</td></tr>
+<tr><td>FreeBSD 8 or later</td> <td>amd64, 386, arm</td> <td>Debian GNU/kFreeBSD not supported; FreeBSD/ARM needs FreeBSD 10 or later</td></tr>
 <tr><td>Linux 2.6.23 or later with glibc</td> <td>amd64, 386, arm</td> <td>CentOS/RHEL 5.x not supported; no binary distribution for ARM yet</td></tr>
 <tr><td>Mac OS X 10.6 or later</td> <td>amd64, 386</td> <td>use the gcc<sup>&#8224;</sup> that comes with Xcode<sup>&#8225;</sup></td></tr>
-<tr><td>Windows 2000 or later</td> <td>amd64, 386</td> <td>use mingw gcc<sup>&#8224;</sup>; cygwin or msys is not needed</td></tr>
+<tr><td>Windows XP or later</td> <td>amd64, 386</td> <td>use MinGW gcc<sup>&#8224;</sup>. No need for cgywin or msys.</td></tr>
 </table>

コアとなるコードの解説

上記のdiffは、doc/install.html ファイル内のHTMLテーブルの変更を示しています。

  • -<tr><td>FreeBSD 7 or later... の行は、FreeBSDの最小サポートバージョンが「7以降」であったことを示しています。

  • +<tr><td>FreeBSD 8 or later... の行は、その記述が「8以降」に更新されたことを示しています。これは、GoがFreeBSD 7のサポートを終了し、FreeBSD 8以降を必要とするようになったことを意味します。

  • -<tr><td>Windows 2000 or later... の行は、Windowsの最小サポートバージョンが「2000以降」であり、mingw gcc を使用し、CygwinやMSYSは不要であると記述されていたことを示しています。

  • +<tr><td>Windows XP or later... の行は、その記述が「XP以降」に更新されたことを示しています。これは、GoがWindows 2000のサポートを終了し、Windows XP以降を必要とするようになったことを意味します。

  • また、mingw gccMinGW gcc に、cygwin or msys is not neededNo need for cgywin or msys. に変更されており、これは表記の統一と簡潔化を目的とした修正です。

これらの変更は、Goのインストールガイドが、当時の最新のサポート環境を正確に反映するように更新されたことを示しています。

関連リンク

参考にした情報源リンク

  • (特になし - コミット内容と一般的なGoの知識に基づいて解説を生成しました。)