Loading...

Go言語 / golangが好きになった理由

f:id:nasust:20161216215056j:plain

こんにちはnasustです。 最近はGo言語 / golangにハマっています。
この言語のシンプルなところが良いです。

僕はC++でサーバーサイドのサービスプログラムなど作っていました。
その時楽しいのが、「こんなヘルパークラス作って楽になったぜー」と一人で悦に入っていることです。
なんというか、ゴチャゴチャしているものをスマートに出来ると快感を覚える性癖なんですよ。 まあ要するにちょっとマゾが入っているですね。

それでC++で作っていると不満なのが、メモリリークすること。開発した当時は大丈夫でも、 徐々にメモリリークして数ヶ月後に破綻する場合とかあります。

その時は、もーソースの隅から隅までまで見て検証して発見するまで凄い面倒で発狂しそうなんですよね。

それでGCがある言語は楽でいいなーと思って、Go言語が好きになったんですよね。 Javaとかもありますけど起動が重いしメモリの使用量が多すぎるし、なんかイマイチなんですよね。

他にも気に入っている事があります。 クラスが無いことです。最初は、クラスがねーのかよと思っていましたけど。
interfaceだけで十分開発できるんでしよね。interfaceだけで、オブジェクト指向っぽい事ができます。
それでGo言語学んでいくと、オブジェクト指向は必要なのかという疑問が浮かんできます。

オブジェクト指向のキモは抽象化ですけど、この抽象化の仕方が人によって違いがありすぎる。
そもそも機能の塊としか扱わない人もいますし。オブジェクト指向は管理し辛いじゃないかと思っています。

最近はコンポーネント指向こそ、変化に強く管理し易いじゃないかと思っています。
Go言語ですと、interface型で入力と出力を規格として保証すればコンポーネント指向で、 開発できそうです。そう考えるとGo言語はコンポーネント指向と相性が良さそうなんですよね。 だから、このシンプルな所が好きになりました。

このままコンポーネント指向と相性が良さそうな感じで発展していってほしいです。