The Go Blog
Go 10周年
Go、誕生日おめでとう!
今週末、私たちはGoのリリースから10周年を祝います。これは、現代のネットワークソフトウェアを構築するためのオープンソースプログラミング言語およびエコシステムとしてのGoの10回目の誕生日を意味します。
この機会を記念して、GoマスコットであるGopherの作者であるRenee Frenchが、この素敵な絵を描いてくれました。
Goの10周年を祝うにあたり、2009年11月初旬、私たちがGoを世界に共有する準備をしていた頃を思い出します。私たちはどのような反応を期待すべきか、この小さな言語に誰かが関心を持つかどうかさえ知りませんでした。もし誰もGoを使わなかったとしても、少なくともGoの並行性とインターフェースへのアプローチといった良いアイデアに注目が集まり、それが後続の言語に影響を与えることを願っていました。
人々がGoに熱中していることが明らかになってから、私はC、C++、Perl、Python、Rubyなどの人気言語の歴史を調べ、それぞれが広く採用されるまでにどれくらいの時間がかかったかを検証しました。例えば、Perlは1990年代中盤から後半にかけて、CGIスクリプトとWebとともに完全に形成されたように私には思えましたが、最初にリリースされたのは1987年でした。このパターンは、私が調べたほとんどすべての言語で繰り返されました。新しい言語が本当に離陸するまでには、約10年間の地道な改良と普及が必要なようです。
私は考えました。「Goは10年後にどこにいるのだろうか?」と。
今日、私たちはその質問に答えることができます。Goはどこにでもあり、世界中で少なくとも100万人の開発者に利用されています。
Goの当初のターゲットは、ネットワークシステムインフラストラクチャ、つまり現在のクラウドソフトウェアでした。Docker、Etcd、Istio、Kubernetes、Prometheus、Terraformなど、今日の主要なクラウドプロバイダーはすべて、Goで書かれたコアクラウドインフラストラクチャを使用しています。Cloud Native Computing Foundationのプロジェクトの大部分はGoで書かれています。数え切れないほどの企業が、ゼロから構築するスタートアップからソフトウェアスタックをモダナイズするエンタープライズまで、Goを使用して自社の作業をクラウドに移行しています。Goはまた、当初のクラウドターゲットをはるかに超えて採用されており、GoBotやTinyGoを使った小型組み込みシステムの制御から、GRAILでの大規模なビッグデータ分析と機械学習による癌の検出まで、あらゆる用途で使われています。
これらすべては、Goが私たちの想像をはるかに超えて成功したことを物語っています。そして、Goの成功は言語だけではありません。言語、エコシステム、そして特にコミュニティが協力し合った結果です。
2009年には、この言語は実装の動作スケッチを備えた良いアイデアでした。`go`コマンドは存在せず、バイナリをコンパイルするには`6g`、リンクするには`6l`のようなコマンドをmakefileで自動化して実行していました。ステートメントの終わりにはセミコロンを入力していました。ガーベージコレクション中はプログラム全体が停止し、当時は2つのコアをうまく活用するのに苦労していました。GoはLinuxとMac、32ビットおよび64ビットのx86、そして32ビットのARMでのみ動作していました。
過去10年間、世界中のGo開発者の助けを借りて、私たちはこのアイデアとスケッチを、素晴らしいツール、本番品質の実装、最先端のガーベージコレクター、そして12のオペレーティングシステムと10のアーキテクチャへの移植を備えた生産性の高い言語へと進化させてきました。
どのプログラミング言語も、繁栄するエコシステムのサポートを必要とします。オープンソースのリリースがそのエコシステムの種でしたが、それ以来、多くの人々が時間と才能を捧げ、優れたチュートリアル、書籍、コース、ブログ記事、ポッドキャスト、ツール、統合、そしてもちろん、`go get`でインポートできる再利用可能なGoパッケージでGoエコシステムを充実させてきました。このエコシステムのサポートなしには、Goは決して成功することはできませんでした。
もちろん、エコシステムは繁栄するコミュニティのサポートを必要とします。2019年には、世界中で数十のGoカンファレンスが開催され、150以上のGoミートアップグループが9万人以上のメンバーを抱えています。GoBridgeとWomen Who Goは、メンタリング、トレーニング、カンファレンス奨学金を通じて、Goコミュニティに新しい声をもたらすのに貢献しています。今年だけでも、彼らはコミュニティメンバーがGo初心者である人々を教え、メンターとなるワークショップで、従来過小評価されてきたグループから数百人の人々を指導しました。
世界中には100万人以上のGo開発者がおり、世界中の企業がさらに多くの人材を求めています。実際、Goを学ぶことでテック業界で初めての仕事を得られたと、しばしば人々から聞きます。結局のところ、Goについて私たちが最も誇りに思っているのは、よく設計された機能や巧妙なコードではなく、Goが多くの人々の人生に与えたポジティブな影響です。私たちは、より良い開発者になるのに役立つ言語を作ることを目指し、Goがこれほど多くの人々に貢献できたことを大変喜んでいます。
#GoTurns10を迎え、皆がGoコミュニティと私たちが達成したすべてのことを祝うひとときを持つことを願っています。GoogleのGoチームを代表して、過去10年間私たちに参加してくださったすべての人に感謝します。次の10年をさらに素晴らしいものにしましょう!