Java-ja温泉に行ってきた日記

無事帰ってきました!(徐々に書く)


9時頃到着したけどちゃんと食事がある!


とりあえず行きの電車の中で書いた言語女子会3を公開する。


女子会のネタが豊富です

Java「マシンのメモリって8ギガが最低ラインよね、Eclipse重いって人はメモリにお金掛けなさ過ぎよね」
Python「えー、わたし2ギガしかないけど快適だよー、GUIいらないし」


Alloyはいいものだ。僕がHaskellを使っているユースケースAlloyにごっそり持って行かれる。


Bootstrap知らなかったのでBootstrap臭も感じない

とりあえず使ってみる


自称「悪くないモンスター」がボードゲームをやりたくてwktkしていた。


女子会のネタが豊富です2

Java「ねえねえScalaちゃん、staticなメソッドってどうやって作るの?」
Scala「クラスがstaticなメソッドを持つって発想がそもそもおかしいよね」
Java「えっ、そう?」
Scala「それってクラスが『シングルトンオブジェクト』としての役割と『オブジェクトが持つべきメソッドの宣言と実装』としての役割を両方持ってるじゃん」
Java「あ、たしかに私のクラスって『単一であることが保証されているオブジェクト』としても振る舞うわね。デザインパターンとしてのシングルトンはクラスがシングルトンオブジェクトであることを利用したトリックってことになるのかー」
Scala「そうよ。あなたのクラスは役割をたくさん持ちすぎだと思うわ。だからクラスにstaticメソッドを持たせないなんて発想が出てくるケースでは、シングルトンオブジェクトにメソッドを持たせれば用は足りるわけよ」
Jython「その場合ってさ、あるクラスFooが持っているメソッドと、あるシングルトンオブジェクトFooが持っているメソッドとの間でお互いのメンバーの可視性ってどうなるの?」
Scala「それはコンパニオンオブジェクトって言うのがあって…」
Java「むむむ、また何か難しい概念が出てきた!(>_<)」
Jython「ググってみようっと。ふむふむ、ようするにクラスと同一ファイル内で定義された同名のシングルトンオブジェクトはクラスの『コンパニオンオブジェクト』になって、お互いに相手のprivateメンバにアクセスできるようになる、ということか。」