golang

Go言語 開発・基盤

Go言語の特徴と他プログラミング言語の比較

投稿日:2019年1月19日 更新日:

Go言語というプログラミングが最近案件として増えてきています。
Go言語を扱うエンジニアの数も徐々に増えてきており、 人気言語となる勢いです。

少し前まではscalaという言語も人気があったのですが 今はあまり伸びていないようです。
最近の新言語ではGo言語の伸びの方が多いようです。

以下のリスト通りに説明していきます。
  • Go言語は処理が速い
  • Go言語は並列処理が簡単に実装
  • Go言語はどのような開発に向いているのか
  • Go言語のドメイン駆動開発
  • Go言語案件は単価が高い
  • Go言語の学習について

Go言語は処理が速い

最近ではビッグデータを扱う会社も多くなり、
言語やデータベースの処理速度を意識した設計を 意識するようになっています。

ビッグデータはPythonのように機能は豊富だが処理が遅い言語では
選択しにくいのとシンプルに作れるということで
ビッグデータではGo言語が選ばれることが多いです。

Go言語は並列処理が簡単に実装

Gorutineという機能がもともとGo言語にはあり、
並列処理をすることが簡単にできます。

重い処理を同時に複数実行すると順番に処理させないといけないのを
平行で処理させると時間が一気に短縮できます。

Go言語はどのような開発に向いているのか

上記でも書いたのですが処理速度が速いので 大量データを扱うのが得意です。
ただ、最近私が見ているとサーバサイドのAPI開発が多いように感じます。

API開発するようにライブラリが豊富というのもあると思います。
EchoやGinといったフレームワークはGo言語の中では主流です。
フレームワークもAPI開発用に豊富に機能を持っています。

つまり、API開発に向いていると思います。

フレームワークががっちりしすぎてない

先ほど、EchoやGinといったフレームワークを紹介しましたが
RubyやPHPのようにMVCでがっちり組んでいるということはありません。
API開発用に用意された機能の豊富なライブラリ的な役割でしかありません。

比較的に自由にコードが書くことができてしまうので
開発する前にどのようにコードを組み立てるのか検討する必要があります。

Go言語のドメイン駆動開発

Go言語は比較的自由にコードを書くことができるので
人によって違うコードを書いてしまうことができます。
そこである程度コードを縛るという意味でもドメイン駆動開発で
開発されている会社が多いようです。

ドメイン駆動開発では機能追加や機能変更に耐えられるように
しっかりと作る意味で設計されているのと
Go言語では自由にコード開発できるので取り入れやすいと思います。
PHPのフレームワークに無理やりドメイン駆動開発を要素を取り入れる
会社もありますが、いびつで使いにくいものになります。
そういった意味でGo言語はしっかり設計すれば堅牢な言語になります。

Go言語案件は単価が高い

JavaやPHPといった言語は案件が非常に多いですが
エンジニアも多いということで単価が安くなってきています。
Java、PHPを学んでいれば職に困ることはないですが
稼ぎたいエンジニアはGo言語に移行しつつあります。

Go言語の学習について

Javaやほかの言語よりも機能を削って、
シンプルな言語になるので比較的に簡単に覚えることができます。
int,string等の型の定義は厳しめです。
Javaや型を厳しく定義している言語から入ってくる人にとっては
何の障壁はないですがPHPのように型を厳しくチェックしていない場合は 最初慣れないと思います。
ライブラリが豊富に提供されているのでGoogle検索すれば
ある程度やりたいことを実行できるのでその分学習コストは減ります。
ただ、どんどん進化していっているので新しい機能は目を離せなくなります。

最近ではオンライン学習も多く増えてきています。
今後、オンライン学習も使ってみるのもいいのではないでしょうか

スポンサーリンク

にほんブログ村 IT技術ブログ IT技術メモへ にほんブログ村 IT技術ブログ Webエンジニアへ にほんブログ村 投資ブログ リップルへ

-Go言語, 開発・基盤

Copyright© スリーネクスト , 2019 All Rights Reserved.