Goが活用されているシーンとは?

Goは2009年にGoogleによってOSSとして公開されたプログラミング言語です。2012年に正式版であるGo 1.0がリリースされました。日本においても2013年からGoに関する技術カンファレンスであるGo Conferenceが始まり、さまざまな企業が採用してきました。

2021年現在では、国外においては誰もが知るような企業もGoを用いて開発を行っていますし、国内においてもスタートアップから大規模開発までさまざまな開発現場で採用されています。

Goのコアチームが行っているGoの開発者向けの調査では、Webサービスのサーバサイド(APIやRPC)やコマンドラインツールの開発に用いられることが多いようです。DockerやgVisor、Kubernetesなどのクラウド関係のOSSでも利用されています。

Goは文法がシンプルで可読性が高く、チーム開発に向いています。また、静的解析ツールやフォーマッタなどの開発ツールも充実しています。また、コンパイルするとシングルバイナリになるためデプロイが容易です。パフォーマンスが求められるような場面でもゴールーチンやチャネルを使った並行処理が活躍します。

Goを学ぶ理由

国内においてもGoを学びたいと考える人も増えてきています。Go Conference 2021 Springでは登録者が1000人を超え、筆者がメルペイにおける活動として行っているGopher道場の参加者も1800人を超えてきています。筆者は大学で集中講義を持っており、学生からGoを始める人も増えてきています。

Goは文法がシンプルで覚えることが少ないため初学者に優しい言語です。また、Goはバージョン1.0がリリースされて以降、執筆時点の最新版であるGo 1.16に至るまで後方互換を保っています。そのため、2012年に学んだ知識であっても2021年になっても十分活かせるということです。今後も1.x系の間は後方互換が保たれる予定のため、学んだことが陳腐化する心配なく学習できます。

前述のとおり、幅広い規模の開発現場で利用されています。今後もGoを採用する企業は増えていくでしょうし、筆者の肌感ではGoエンジニアは非常に不足しているいます。そういった意味でもGoを学ぶことはエンジニアのキャリアとしてもプラスに働くのではないかと思います。

学習の方法

Goは公式サイトの情報が充実しています。英語の情報のため躊躇してしまうかもしれませんが、翻訳サイトを用いて読めば読めなくもありません。英語が難しい場合は、プログラミング言語Goなどの日本語で書かれた書籍を活用すると良いでしょう。Microsoftが公開しているGoの最初の手順も良いサイトです。

筆者が公開しているプログラミング言語Go完全入門でも網羅的に扱っています。Gopher道場 自習室では学習用の動画も公開されています。

Goは国内外でコミュニティ活動が活発です。国外ではGopherConを始めとするさまざまなカンファレンスが毎年行われています。国内においてもGo Conferenceなどのカンファレンスや勉強会が数多く開催されています。興味のある方はGophers Slack#japanチャンネルを覗いてみると良いでしょう。

MENTAでは1対1で学習のサポートを行うプランを公開しています。ぜひ、興味のある方はご活用ください。

参考資料