お勧め言語シリーズ第二弾です。今回は、Go言語をご紹介したいと思います。

派遣先で、Go言語を導入できないか画策中です笑
<目次>
Go言語とは
Go言語は、Googleが開発している静的型付け言語で、次の特徴があります。
・ シンプルな文法
・ 動作が高速
・ 並列処理が書きやすい
・ クラウド技術と組み合わせやすい
Go言語の文法は、とにかくシンプルです。シンプルすぎて、他の言語には存在するtry-catch構文すらありません。そして、コンパイル言語でもあるため、動作がとにかく早いです。
加えて、並列処理向けに開発された言語なので、”go”キーワードをつけるだけで、簡単に処理を並列化させることも可能です。

Go言語は、Pythonの次に好きな言語です。
Go言語の用途
Go言語は、APIサーバーの開発によく用いられます。
APIサーバーとは、アプリケーションインターフェースサーバーの略で、汎用性の高い機能を外部から手軽に利用できるサーバーのことを指します。
APIサーバーはよくクラウド上の環境に設置され、大量のユーザーリクエストを裁く運命を背負うケースが多いです^^
そのため、速度が最重要視されます。
コンパイラ言語で動作が高速、更に並列処理が得意なGo言語であれば、APIサーバーの用途で利用されることも納得ですよね。
また、最近のトレンドとして、マイクロサービスと呼ばれる開発手法が徐々に広がっています。
これまでのソフトウェアは、一つのソースファイル上で管理される巨大なプログラムになりがちでした(モノリシックとも呼ばれます)。
しかし、プログラムを「サービス」毎に細かく分解し(マイクロ)、それらのサービスを連携して管理・運用することで、システム開発のスピード、保守、品質などを向上させることができます。
Go言語では、このマイクロサービスに向いている言語であり、クラウドの開発案件も年々増加していることから今後需要が高まる言語であると推測しています^^

本当に狙い目の言語ですよ。
Go言語の開発案件
現在日本では、Go言語の開発案件は非常に少ないです(本当に残念です)。
私がお世話になっているリクルートスタッフィングが保有する案件では、僅か7件ほどしかありませんでした(8月、関東のみ)。
しかし、その7件は「どれも新しい技術に挑戦でき、かつ時給が高額なものばかり」です。
Go言語を習得すると最先端技術の案件に関われる確率がグッと増すと考えられるので、私も先行投資として学習を続けています^^

今は案件数としては少ないかもしれません。しかし、将来性が十分ある言語です!
Go言語の学習方法
HTML, CSS, javaScript -> Python -> Go言語の順に学んでいただけると効率がいいかと思います。
Go言語は、他の静的型付け言語(JavaやC#など)に比べると学習コストが低いので学びやすい言語です。
お勧めする教材は、「入門Goプログラミング」ですね。
この本は前提知識なしで読み進められる良書です。また、2019/5/13に販売されたばかりの新しい書籍です(他のGo言語の書籍は若干古い)。
洋書が読めるのであれば、以下の書籍もお勧めです。
Go Standard Library Cookbook: Over 120 specific ways to make full use of the standard library components in Golang
この本は、APIサーバーの実装、DB接続など面白い技術が学べる中級者向けの書籍です。入門書を読み終えた後に学習するといいと思います。※Amazonの方が価格は安いです
あとがき
Go言語を学ぶメリットは、「最先端技術の開発案件に携わりやすい」にありますが、Go言語自体が比較的新しい技術であるため、まだまだ日本では広がっていません^^;
しかし、メルカリやDeNA、Lineなどの有名なWeb系企業では既に採用されている言語です。
今後は、Go言語の開発案件は増えていくと予想できますし、今から勉強すれば他の開発者より一歩進んだエンジニアになることは間違いないと思います^^
コメントを残す
コメントを投稿するにはログインしてください。