Java8の関数型プログラミングはちょっとなんだかアレだなあ

 Java8の関数型プログラミングにはまり、寝る間も惜しんで深夜までプログラムを書きつつ、昼間に眠気から常駐先の机で居眠りをしている毎日ですが皆様お元気でしょうか。

 Java8のlambdaってのはどうも、アレですよね。みんな褒めてるけどもういい加減にして欲しい感たっぷり。

 Collectionにmap, filter使えないとかもうそれなにかの嫌がらせだろうか。Streamに変換して、mapして、出来上がったStreamをCollectorでSetに戻してとか、冗談やめて欲しい。しかも型エラー出るとどこにどう型宣言したらいいのか悩んで数時間たっちゃう。

 じゃあ、ってんでSetやListをぜーんぶStreamにしてみるとループを回せなくなっちゃって、エラーを見るとおお、forとforEachはスコープ違うのか、感動。そして変更点を全部もとに戻す、、、、(涙

 そんなことするくらいだったら、配列に入れてfor文で0からnまで回したほうが楽じゃね?って言いたくなるプログラマさんの気持ち、よくわかります。っていうか、誰か大声でdisらないの?本当はそういうのは問題じゃないんだろうか。

 ブログでサンプルコードを書いてる人がたくさんいるけど、あれ、半分以上は動かないんじゃないかな。ある時点では動いてたかもしれないけど、今のlambdaじゃ動かない。ってことは今、勉強のためにコードを書いても、将来動かなくなる。

 James Goslingが残ってたらこうはならなかった、、、かどうかは分からないけれど、う〜ん、、、、自分で言語作るべきなのかな。(どうしてそこに飛躍するのか)