Go
golang

Go言語で開発がスムーズになった

More than 1 year has passed since last update.

「Go言語のおかげで開発効率がよくなった」ことに関して少し書いてみた。

C/C++での開発ではネットワーク関連に開発のしにくさを感じていました。

例えばTCPのコードを書こうと思うとLinuxとWindowsではコードの完全な互換性がもてないと言いますか、なんというか、、、

少しダラダラ書いておく

WindowsでTCPのコードを書いてそれをモジュール単位に区切ったところでWindowsでしか使えません。
Linuxでは、また仕様が違ってきます。

BoostのAsioだと補助記憶装置の容量を食うし、開発を行うコンピュータが違えば毎度入れなければいけない。。。。面倒!!!

単純に言語一式を入れてすぐに開発スタートではない、つまりC/C++の標準にネットワークライブラリが含まれていないのが悪いんだ!と、思ったのです。
厳密に言いますと、その僕の考えは間違っています。
C/C++はそうでなくてはいけないのですよね。。。
低水準なんですから。。。。
C/C++はベースな部分から一から作れることに価値があるのですよ。

なぜGoを選んだか

1

C/C++ほど低水準な言語ではありませんが、C/C++のような分野での開発に適していると耳にしたことと、実際にDockerの開発に用いられていること。

2

現代的にネットワークなどのライブラリが標準にあること。

3

一応はポインタが用いれること。

4

クロスコンパイルが可能なので、マルチプラットフォームな開発に適していると感じたこと。

5

セットアップがめちゃくちゃ楽なこと。

実際に開発に使ってみた

クロスコンパイルのおかげで、OSに依存しない部分のコードに関しては開発しやすくなった。
(マルチプラットフォーム対応が楽)

基本マルチプラットフォームな開発が1つのOSで行えるので、プログラマーの数を節約。

変数宣言で、使っていない変数があればそれはエラーとなるし、インポートしても使っていないライブラリであればそれもエラー。このおかげで、コードがめちゃくちゃになりにくくなった。メンテナンス効率UP.

Go言語のインストールがとても楽なので、セットアップに時間を取られなくなった。