読書会(Java 2 Standard Edition 5.0 Tiger)第1回議事録
[ 戻る ]
「Java 2 Standard Edition 5.0 Tiger」を読む会第1回議事録
日時:2005年9月17日 10:00〜17:00
場所:高津市民館第4会議室
参加者(敬称略):高橋(徹)、遠藤、小棚木、村山、塩澤、国沢、大崎、吉本、奥、石黒、高橋(智)、内脇、金井、岩室、秋元、和田
□前書き
- 去年の9月ぐらいにリリース?JDK5.0
- 5.1はスキップ。6.0がリリースされるらしい。mustang
- 6.0でスクリプト(javascript?)がのるかも。
- -source 1.3 とか 1.1 とかもできる? →できるみたい。
- Tomcat とかは5.0用にコンパイルされている。
- Major version :47 Tiger, 48 mustang
□第1章 ジェネリックス
- ジェネリクスでプリミティブも指定できるようになぜしなかったのだろうか? →list
- 今、言語仕様決めたら、プリミティブはなくすのでは?
- for (int value: list){ total += value }はできる。P3
- number型で受け取るのはできるかもList
- 1.2.1の命名規約の出典はどこだろう?→宿題
- 1.2.2 Eはキャストのための情報であるのでは?
- ほとんどが、パラメータ化 → ジェネリック化の間違い
- ジェネリック化メソッドの型を明示できるか?→宿題
- parameterize type → generic typesに修正された理由はいかに!?(言語仕様に改定があったのかな?)
- 1.2.6 objectでもいける? → インターフェースだからイレイジャが動かないのでは?
- P16 comparableが戻り値では意味的におかしいからでは?→必須ではないけど。→必須だとコーダがイレイジャの挙動をわかってないといけないことになる。
- 標準ライブラリに関してはシグネチャが変わるのでobject &は必要。(jdk1.4で書かれたアプリケーションがjdk5.0で動かなくなる)
- object & がデフォルトで入っているとオーバーヘッドがかかるから嫌ったのでは?
- C++だとコンパイル時にTにIntegerが引っ張ってこられるが、javaはConparableでしか置き換えできない。
- & は結果的に戻り値の型を決めるためだけでは?(中でキャストされるのならば)
- p26 リフレクションでとった場合はどのメソッドかはどうやってはんだんするのか?(でもこれって、オーバーロードではなく、オーバーライドなのでは?)
- 1.4共変戻り値にこだわる。
- 1.5.5 ジェネリック化では?
- 1.5.5→developer worksに説明があるみたい。Javaの配列自体がもともとtype safeではないので、・・・。
- Jdk5.0 のjavacはバグはあるのかなぁ?→宿題:バグパレードで調べる
- 使われてないから、バグが報告されていないのか?もしくは、結構昔からあるから結構安定しているのかな?
- ジェネリクスの仕様のバグはないのかな?
- カモノハシ本がおすすめ。
- C#のnUnitがアノテーションの先行技術らしい。
- Mustang は@SuppressWarningsがききます。
□脱線
- プリミティブ型とクラス型
- 昔の言語で言えば、クラスは厳密に型ではない。
- オブジェクト指向とアスペクト指向は直行した概念
[ 戻る ]