Photo by Tom Woodward
こんにちは。谷口です。
プログラミングをこれから学ぼうとしている方や、これから研修や実務に入る新人ITエンジニアの皆さんの中には「Go言語を学習したい」という方も多くいらっしゃるかと思います。
Go言語は、2009年にGoogleにより発表されたオープンソースのプログラミング言語です。C言語の開発者であるケン・トンプソン、UTF-8の開発者であるロブ・パイクなど、そうそうたるメンバーによって開発されました。
Go言語の特徴としては、ほかの言語が持つような機能の多くを削り、かなりシンプルな言語になっているという点が上げられます。
例えば繰り返し処理にfor文はありますが、doやwhileはありません。条件分岐の処理は、ifステートメントが複数行に渡った際に見やすいよう、ifの波括弧が必須となっています。
Go言語は、こうしたコード上の表現を制限することで、開発者による書き方のばらつきも抑えられるといった長所もあります。
さらにgoroutineやchannelといったGo言語特有の機能を用いて、簡単かつ効率的に並列処理を記述することができます。
また、Go言語では開発を助けるさまざまなパッケージやツールが最初から用意されており、各エディタやツールのためのプラグインなども公開されているため、すぐに開発を始めることができます。
国内では、サイバーエージェントやLINE、カヤックもGo言語を採用しています。
今回は、プログラミング未経験~初心者の方が、なるべくコストをかけずにGo言語に触れられて、学習に役立てられるコンテンツを10件ご紹介していきます。
■プログラミング経験ゼロからGo言語を覚えたい人
◆1.The Go Programming Language
料金:無料
http://golang.org
Go言語の公式サイトです。最新情報等も見ることができますので、英語がOKな方はこちらからご覧になるとよいかと思います。
◆2.The Go Programming Language(日本語訳)
料金:無料
http://golang-jp.org
公式の日本語訳サイトです。
◆3.golang.jp
料金:無料
http://golang.jp/
こちらも公式の日本語訳サイトです。
◆4.お気楽 Go言語プログラミング入門
料金:無料
http://www.geocities.jp/m_hiroi/golang/index.html#abc
Go言語に関する文法の解説や、演習問題などが学べるサイトです。Go言語の基礎から学ぶことができます。
◆5.ドットインストール
料金:無料(プレミアム会員は月額¥880)
http://dotinstall.com
動画でプログラムの書き方や実行環境の作り方等が学べるドットインストールです。実際に独学でプログラミングを始めたという人の中には、とりあえずドットインストールから学習を始めたという方も多いです。「実際のコードの書き方から学びたい!」という方や、「本当はスクールに通いたいけど費用が……」という方は、一度ドットインストールの動画を見てみてはいかがでしょうか。
■実際にGo言語のコードを書いて動かしてみたい人
◆6.paiza.IO
料金:無料
https://paiza.io/
paiza.IOは、ブラウザ上でコードが書け、書いたコードをその場で実行出来るオンラインプログラム実行環境です。面倒な環境構築なしに、例えば本に載っていたコード、ネット上で他の人が公開していたコード等をオンラインで実行して結果を見ることができます。ブログパーツとして使えたり、GitHub(Gist)連携なんかもできますので、ぜひpaiza.IOでどんどんコードを書いてみてください!
詳しくはこちらの記事をごらんください。
24のプログラミング言語がブラウザで即実行できる『paiza.IO』 - paiza開発日誌
コードをリプライとして飛ばすと結果を返信してくれるツイッターアカウントで遊ぶこともできます。
◆7.A Tour of Go(英語)
料金:無料
http://go-tour-jp.appspot.com/#1
Go言語のチュートリアルを実行できるサイトです。
◆8.Go Playground
料金:無料
http://play.golang.org/
Go言語をWeb上で実行できるサイトです。
■基礎的なコードが書けるようになってきた人
◆9.paizaのスキルチェック問題(※β版)
料金:無料
http://paiza.jp
paizaでは、コーディングスキルをはかるコーディング問題の結果により、S・A・B・C・D・Eの6段階でランクが分かります。ぜひ問題を解いて、ランクアップを目指してみてください!プログラミング業務経験のない方でも、Dランクが取得できると、プログラミングの基礎的な概要は理解できているということになります。
※β版の言語は、一度別の言語で解いた問題であれば挑戦できます。
◆10.Golang JPコミュニティ
料金:無料
https://plus.google.com/communities/107075098212007233819
日本のGo言語のコミュニティです。こういったところに入って疑問に思うところを質問してみるのもいいかと思います。また、Go言語に関するイベントや勉強会の情報も共有されますので、「これから本格的にGo言語で開発していくぞ!」という方は登録されるとよいかと思います。
■まとめ
Go言語の文法はC言語に似ているところが多いですが、オブジェクト指向の考え方を採用していたり、メモリーの確保や解放を明示的に行う必要がなかったり、データ型のエラーがコンパイル時に表示されるのでその時点で修正ができたりするといったメリットがあります。
さらに、勉強してある程度の基礎が身につきましたら、ぜひpaizaでご自分のスキルをはかってみてください!
paizaではGo言語エンジニアの求人も多数掲載しておりますので、ぜひごらんくださいね!
paizaは、技術を追い続けることが仕事につながり、スキルのある人がきちんと評価される場を作ることで、日本のITエンジニアの地位向上を目指したいと考えています。
自分のスキルを磨いていきたいと考えている方におすすめなのが「paizaラーニング」。オンラインでプログラミングしながらスキルアップできる入門学習コンテンツです。初心者でも楽しくプログラミングの基本を学ぶことができます。
そして、paizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。