日々常々

ふつうのプログラマがあたりまえにしたいこと。

Java基礎勉強会 #JavaBase に行ったはず

Javaの基礎とかわかってない気がしてたので行ってきました。

わかってないことがよくわかりました。わかる必要があるのかは知りません。

感想1(真面目)

Javaが生まれたのは何故か。何かしらの問題を解決する必要があって生まれて来た。けれど時代は流れ、状況は変わっていく。例えば「簡潔さ」を掲げて生まれた言語でも、要求の変化によって簡潔さを失っていったりするし、より簡潔な代替物が出て来たら売りではなくなる。だとしても、存在価値を失っているわけじゃない。解決するべき問題が変わってるだけだし。もし存在価値を失ったら、他のいくつかがそうであるように、静かに退場していくだけだろう。

Javaは出来た当初から出来る限り互換を保って今まで至っている。でもJ2SE 1.4からJ2SE 5.0へは大きなジャンプがあった。言うまでもなくジェネリクス。これをどのようにしてJavaに導入できたのか。それを検証するためにFeatherweightJava*1ってものがある。Javaの最小限のサブセット。これにジェネリクスを突っ込んで破綻しないかとかそういうのをやった、らしい。

JVMがスタックマシンだとか、メモリモデルの話とか、Javaがどう動いてるのかみたいなのも、まさにJava基礎なお話だったと思います。

感想2(??)

この勉強会は一体なんなんだろう。ものすごくなごやか*2だった。
Javaで書いてたらイライラしたからSML#をJavaから呼ぶとか。containsをどう実装するかから継続にぶっ飛ばれてよくわからなかったり。ClojureとかASMとかの話も。
ごめんなさい。本気で意味がわからなかった。意味の分からなさは面白かったけど、なんかもう、こわかった。

まとめ

まとまんねーよ。

あ、Oracle中部支社の会場、良かったです。手元にモニターあるのいいですね。あれならコードの拡大とかする必要ないですし、最初から織り込めてればまた違った資料作りができる気がしました。