Goブログ

Go 10周年

Russ Cox (Goチーム)
2019年11月8日

Go、誕生日おめでとう!

今週末、私たちはGoのリリース10周年を祝います。これは、現代のネットワーク化されたソフトウェアを構築するためのオープンソースプログラミング言語およびエコシステムとしてのGoの10歳の誕生日を記念するものです。

この機会に、Go gopherの作成者であるRenee Frenchが、この楽しいシーンを描いてくれました。

Goの10周年を祝うことで、2009年11月上旬にGoを世界に公開する準備をしていた時のことを思い出します。私たちはどのような反応を期待すべきか、この小さな言語を誰も気にするのかどうかを知りませんでした。誰もGoを使わなくても、特にGoの並行処理とインターフェースへのアプローチなど、その後の言語に影響を与える可能性のあるいくつかの良いアイデアに少なくとも注目を集めることを願っていました。

Goに人々が興奮していることが明らかになると、C、C++、Perl、Python、Rubyなどの人気のある言語の歴史を調べ、それぞれが広く採用されるまでにどれくらいの時間がかかったかを調べました。たとえば、PerlはCGIスクリプトとWebとともに、1990年代半ばから後半に完全に形成されたように見えましたが、最初にリリースされたのは1987年でした。このパターンは、私が調べたほぼすべての言語で繰り返されました。新しい言語が本当に離陸するまでには、約10年の静かで着実な改善と普及が必要になるようです。

私は思いました。10年後、Goはどこにいるのだろうか?

今日、私たちはその質問に答えることができます。Goは、少なくとも世界中の100万人の開発者によって使用されており、あらゆる場所で使われています。

Goの当初のターゲットは、ネットワーク化されたシステムインフラストラクチャ、つまり現在クラウドソフトウェアと呼んでいるものでした。現在、すべての主要なクラウドプロバイダーは、Docker、Etcd、Istio、Kubernetes、Prometheus、Terraformなど、Goで書かれたコアクラウドインフラストラクチャを使用しています。Cloud Native Computing Foundationのプロジェクトの大部分はGoで書かれています。数え切れないほどの企業が、スクラッチから構築するスタートアップからソフトウェアスタックを最新化する企業まで、Goを使用して独自の作業をクラウドに移行しています。Goは、GoBotTinyGoを使用して小さな組み込みシステムを制御したり、GRAILでの大規模なビッグデータ分析と機械学習で癌を検出したりするなど、元のクラウドアプローチをはるかに超えて採用されています。

これらすべては、Goが私たちの想像をはるかに超えて成功したと言えます。そして、Goの成功は単に言語についてだけではありません。それは、言語、エコシステム、そして特に協力するコミュニティについてです。

2009年、この言語は実装のワーキングスケッチを備えた良いアイデアでした。goコマンドは存在せず、6gのようなコマンドを実行してコンパイルし、6lでバイナリをリンクし、makefileで自動化していました。文末にセミコロンを入力していました。ガベージコレクション中にプログラム全体が停止し、そのガベージコレクションは2つのコアを有効に活用するのに苦労しました。Goは、32ビットおよび64ビットのx86と32ビットのARMで、LinuxとMacでのみ実行されていました。

過去10年間で、世界中のGo開発者の助けを借りて、私たちはこのアイデアとスケッチを、素晴らしいツール、本番品質の実装、最先端のガベージコレクター、および12のオペレーティングシステムと10のアーキテクチャへのポートを備えた生産的な言語へと進化させました。

プログラミング言語は、繁栄しているエコシステムのサポートが必要です。オープンソースリリースはそのエコシステムの種でしたが、それ以来、多くの人々が時間と才能を貢献して、Goのエコシステムを素晴らしいチュートリアル、書籍、コース、ブログ投稿、ポッドキャスト、ツール、統合、そしてもちろんgo getでインポート可能な再利用可能なGoパッケージで満たしました。Goは、このエコシステムのサポートなしには成功することはできなかったでしょう。

もちろん、エコシステムには、繁栄しているコミュニティのサポートが必要です。2019年には、世界中で数十のGoカンファレンスが開催され、150を超えるGoミートアップグループには90,000人以上のメンバーがいます。GoBridgeWomen Who Goは、メンターシップ、トレーニング、およびカンファレンス奨学金を通じて、Goコミュニティに新しい声を届けるのに役立ちます。今年だけで、彼らはコミュニティメンバーがGoを初めて使う人に教え、指導するワークショップで、伝統的に過小評価されているグループから数百人を教えました。

世界には100万人以上のGo開発者がおり、世界中の企業がより多くの人材を雇用しようとしています。実際、Goを学ぶことでテクノロジー業界で最初の仕事を得ることができたとよく言われます。結局のところ、Goについて最も誇りに思っているのは、うまく設計された機能や巧妙なコードではなく、Goが非常に多くの人々の生活に与えたプラスの影響です。私たちは、より優れた開発者になるのに役立つ言語を作成することを目指しており、Goが非常に多くの人々に役立ったことに感激しています。

#GoTurns10として、皆さんがGoコミュニティと私たちが達成してきたすべてを祝う時間を少し取ってくれることを願っています。GoogleのGoチーム全体を代表して、過去10年間で参加してくださった皆様に感謝します。次の10年をさらに素晴らしいものにしましょう!

次の記事: Go.dev: Go開発者向けの新しいハブ
前の記事: Goモジュール: v2とそれ以降
ブログインデックス