「Go」の案件求人検索結果

■Goとは?
Goは2009年にGoogleが開発した新しいプログラミング言語です。日本のシステム開発現場で使われている事例はまだそこまで多くありませんが、たとえばGunocyはGoで開発されています。

テレビコマーシャルでもたびたび見かける有名ニュースアプリなので、ご存知の方も多いかと思います。他には、YouTubeはGo言語で構築されています。これはあまり知られていないかもしれません。

Goはクロスコンパイルが可能な言語で、OSに依存しません。そのOSに合った実行ファイルを作成できるので、appleが作った言語よりもその点で利便性が高いと言えるでしょう。

また、たとえばJavaなどはOS上にJavaを実行するための環境をインストールする必要がありますが、Goの場合はOSに合ったファイルが自動生成されます。新しい言語でなおかつGoogleが開発した言語なので、さすがです。

おすすめワード

Goについて

Goの特徴としては、まず表記ゆれを防ぐために同じロジックをいろいろな方法で組めないようになっています。たとえば、Javaなどで一般的な三項演算子がありません。for文は使用可能で、do-whileも実装可能です。

型宣言に関しては不要ですが、なんでも入れられるというわけではありません。宣言が不要なだけで決まりはあるので、型に合わない変数を入れるとJavaなどと同様エラーになります。

基本的に、Go言語はわかりやすさに重点を置いています。無駄な記述やロジックの重複をなるべく排除して、読むのも書くのも簡易化されていることが特徴です。しかし、シンプルで見やすい反面機能が少ないというデメリットもあります。

たとえば、ジェネリックがない、継承がない、といったことです。たとえば引数の型を明確にしていないとエラーになります。Goは一応オブジェクト指向に近い使い方が可能ですが、そのままオブジェクト指向言語というわけではありません。

クラスを継承して機能追加するのではなく、逆に機能を先に実装し、そこに元のクラス機能を組み込むという独特な構造になっています。他のプログラミング言語を考えると普通に継承して機能追加した方が書きやすいのですが、なぜGoで新しい機能に元のクラス的なものを組み込む形式になっているのかはよくわかりません。

■Goの資格について
Go専用の資格というものはありません。仮にあったとしてもかなりマイナーなもので、それを評価する会社もないと考えられます。年々IT業界では資格の重要度が下がっており、新しいプログラミング言語となるとますますその傾向があります。

GoはGoogleが開発した言語ですが、Googleと言えば周知の通り斬新さや真新しいサービスを売りにしています。エイプリルフールにGoogleマップにポケモンやパックマンが出現するなど、ユーモアも欠かしません。

そんなGoogleなので、利益のためだけに資格試験を設けるとは考えにくいでしょう。民間の資格試験は主催者側が収益を上げるために主催しています。マイクロソフトやappleと違ってGoogleはあまりそのような戦略は取っていないので、今後Goの資格試験が誕生する可能性も低いかもしれません。

また仮に資格試験が誕生しても、優良なIT企業ほど資格を重視しない傾向にあります。SIerのようにエンジニアを開発現場に派遣することで月単価を得ている会社では資格をある程度重視していますが、それも悪く言えば付加価値を付けてエンジニアを現場に売るためです。

優良企業ほど自社開発を持っている可能性が高いのですが、自社開発に力を入れている企業ほど資格ではなくスキルに対して報酬を支払っており、エンジニアとしても資格よりもスキルアップしてそういった会社に入った方が収入が上がります。

たしかにSIerでは資格に対して多少インセンティブが付きますが、コストパフォーマンス的に考えてそれほどメリットがあるとも思えません。数年間必死に勉強してやっと取得できるような資格でも月に収入が1万円程度上がるくらいだったりするので、それならスキルアップしてスキルを評価してくれる企業に入った方が月収は10万円単位で上がります。

■Goの魅力・市場動向について
Goの市場動向についてですが、今後ある程度普及するものの、今とそれほど状況は変わらないかと思います。人気の言語はあるものの、メインで利用されることは少ないということです。

Goはたしかに利便性が高くコンパイルの観点でもソースコードの書きやすさ、見やすさといった点でもメリットがあります。しかし、上記の通り一般的なオブジェクト指向言語と比べると機能制限されており、継承や引数の実装時に面倒だと感じることがあります。

なので、たとえばJavaやPHPに変わってGoが主戦力言語になる、ということは少ないでしょう。GunocyやYouTubeでGoが使われていると上で説明しましたが、これらのサービスはシステムとしては非常に単純です。

GunocyもYouTubeも人気のサービスですが、システム的に考えると単純なのはすぐにわかるかと思います。GunocyもYouTubeも人気の理由はコンテンツで、システム的にはサーバーに蓄積した情報をシンプルなクライアント側のプラットフォームに載せているだけです。

GunocyもYouTubeもコンテンツが一覧表示されていてクリックすると開く仕様になっていますが、それ以上何か特別なことが起こるわけではありません。強いて言うなら関連するコンテンツが紐づけて表示されますが、これはプログラミング言語というよりはデータベース側の言語の機能です。

このようにGoはシンプルなシステムでは重宝されますが、より複雑になると他の言語を選択した方がステップ数の多さに耐えられます。

■Goの勉強法について
Goの勉強法は、実践あるのみです。最初のプログラミング言語にGoを選択する人は少数派で、おそらく他のオブジェクト指向言語の経験がすでにあることでしょう。Goはある程度の癖がありますが、基本的にわかりやすさを重視しているため、他のオブジェクト指向言語に比べると理解しなければならない概念が少なく、ソースコードもシンプルです。

つまり、JavaやC言語の経験があれば少しGoの書き方を覚えるだけでそのまま実装に入れます。

案件探しやフリーランスになるための相談する