JavaFestaでScalaのプレゼンを行う
8月の札幌でのScalaの勉強会をきっかけにJavaFestaでScalaの話をすることになり、昨日そのJava FestaでScalaの話をしてきた。
同時に行われたセッションがGoogleさんのApp Engineなので人が集まるかが心配だったが、会場の7割程度は埋まったのでホットした。
今回は記述力の向上、パターンマッチング、implicit、関数型の4つの視点から新たに資料を作成した。
Scalaの話をするのも今回で3回目だが、資料をまとめる度に気づきがある。
今回の気づきは「case class」が関数型のプログラミングスタイルに適するようにClassを最適化したもの ということである。
気付いてしまうと「何で今頃そんなことに気付いているんだろう」と思ってしまうが、これが思いこみの怖いところである。
私の言語経験はCOBOL、C、P2、JavaScript、Smalltalk、PrographCPX、Java、Scalaなどである。
20年くらい前に出会ったSmalltalk以降はオブジェクト指向の言語が中心だ。
それというのもSmalltalkに最初に接した時の印象が非常に強烈で、「Smalltalk is big ideas」というフレーズがマニュアルにあり、今でもはっきり覚えている。
むさぼるようにクラスライブラリを調べては、プログラミングテクニックを学んでいった。
Javaの登場はメジャーになりそうなオブジェクト指向の言語が出たことが嬉しかったが、プログラミングテクニックとしては、そんなに学ぶべきものは無かった。
ここ数年は関数型のプログラミングに新たな発見があり、それがScalaを使う楽しみにもなっている。しかし、長年の癖がどうしても思いこみにつながってしまい、先に示した「case class」のような当たり前のことが気付かなくなっている。
少し頭が硬くなっているようだ....
頭が硬くならない前にビジネスアプリでルールベースのプログラミングをものにしてプログラミング人生を終わりにしたい。
昨日の資料