gs-collections-kataをやってみた

とりあえずひと通りやってみての感想

Java 8のStream API命名が違いすぎるというのは結構困る。
ほんとうに困る。
これなんだっけ?みたいなことが結構ある。

Java 8以前からあるのでしょうがない。
どうもSmalltalk系の命名らしい。
C#LINQとかRubyを扱ってた人はすんなり使えるのではないだろうか。

現時点ではStream APIがいまいち最適化がかからなかったり、JavaのCollection Frameworkがいまいちアレな感じが強かったりで、非常にいいような気がする。

ただ、Java 9以降、Stream APIが進化するとStream APIの方はJVMの恩恵を受けて一気に最適化される恐れもあるのでgs-collectionsのAPIを叩けばいいとは一概にも言えない気がする。

何らかの理由でJava 8以降が使えないけれども、Stream APIちっくなものが欲しい人向けな気がする。

ただ、gs-collectionsで生えているAPIを使用せず、通常のList/Map/Setとして使う分としても利点は多そう。
以下の資料の26ページ以降を見る限り。
http://www.goldmansachs.com/gs-collections/presentations/2015-04-08_JavaDayTokyo.pdf

fat-jarでも問題なさそうな案件では使ってみましょうかね。

ちなみに、gs-collections-kataでeclipseintelliJ IDEAのプロジェクトファイルしか入ってなくて、NetBeansで開けないのには遺憾の意を表明し、pom.xmlをプルリクエストしてみました。
https://github.com/goldmansachs/gs-collections-kata/pull/1

通るか知らんけど。

なお、JJUG CCCの懇親会ではゴールドマン・サックス様からの景品は何ももらってないことを表明しておきますw