屈強な男性のブログ

チャンピオン・ジャンプの感想を中心に、日々の雑記とか諸々

Javaから逃げてGoを触ってみる

工場の片隅でJavaでシステムを作っている俺ですが、

最近のJavaにはチョットついていけないモノを感じてならない。

 

ただでさえ継承だのデザパタだのでヤヤコシイのに、

Java5でアノテーションジェネリクス・・・

Java8でラムダ式、ストリーム・・・

どんどん機能が増えていってアタマがフット―しそうだよぉ。

 

「日本の家電は使いもしないボタンが多くてダメ!」

みたいな意見をよく聞くけど、Javaもそんな感じだね。

機能の肥大化ってこーゆーことをいうのね。

 

「PGたるもの、マニアックな機能をフル活用するのがプロフェッショナル!」

みたいな風潮があるけど、俺は全く反対のスタンスだ。

出来る限り簡単に、わかりやすく書きたい。

 

複雑なコードはそれだけでブラックボックス化しちゃう。

多態性なんか意識して継承やインターフェースを多用されると最悪だね。

何が疎結合だ。余計なインターフェース挟んでるだけだっつーの。

工場内で密結合的に繋がっている工程を、疎結合してどーすんだよ。

もっと業務に忠実に書けよ。

業務を知らないならせめてシンプルに書けよ。

 

そんなPGの自己満足で作られたコードを直すとなると、

ちょっとした改修でも、何日も頭を悩ませて納期や工数オーバーして

すげー怒られる羽目になる。イヤだねぇ。

 

この上「Scala共存」とかオシャレなことが意識高い系のブームになったら、

手が付けられませんぜ。

コードがシンプルなのかスパゲティなのかすら見分けがつかなくなる。

 

Javaの冗長ながら堅実な記法は嫌いじゃないので、

「継承はできるだけしない」とか「設計書に忠実に書く」とか

規約を決めて機能を制限しながら使いつづけたいけど、

そういう方法もいい加減、限界に達しつつある。

 

客先常駐なんで人の出入りが激しいしうえ、

常に規約を教える時間が確保できるわけでもない。

そもそも規約ってのはあくまで人間の良心に依存したものなので、

守らない人もいる。

 

それに機能制限というのは単純にストレスだ。

「この書き方ならシンプルでっせ」というアイデアが頭から否定されるわけで

窮屈だ。

 

もうJavaから逃げて、別の言語をやったほうがいいかもしれん。

イロイロ調べてみると、Goがよさそうだ。

 

ここのサイトを見てみると

gihyo.jp

・静的型付

・余計な機能がない

・コーディング規約が決まっている

つーことで、俺の好みにぴったり合致しているみたいだ。いいね。

 

ちょっと試してみたところ、

ハローワールドまで15分くらいでできた。

 

恥ずかしながら、

ハローワールドまで踏み出せずに挫折しちゃうパターンもあるほど

へっぽこな俺なんで、ダウンロードやインストールまで含めて15分は、

早いし嬉しいね。

 

初めの一歩は好感触だ。