読書会(Java言語仕様 第3版)第1回議事録

[ 戻る ]


出席者:高橋(徹)、大森、福岡、小棚木、市谷、吉本、岩室、村山、村上、遠藤、
    山内、松井、小松、野元、高橋(智)、岡澤、門脇、石黒、鈴木、中島、和田
読み手:岩室、村上、門脇
書記:和田



・序文
ハンプティダンプティから

おかだちゅうけん?

言語仕様なので、これくらい目次がないとだめ。

英語の人名は読みづらい。

p xxi 中段
新規バージョンをファイル名の拡張子で区別する機能はないはずだ。
>第1版の序文だからか。

パラメタライズド・タイプは1996年時点ですでに提案されている。

索引のジョークがなくなったのは残念。

・第2版序文
浮動小数点演算の変更点とは?
>strictfp修飾子?の導入のことか。

最後の引用は何を表しているのか。
Giladさんが女性?<妻に謝辞を送っているので男性では?

この時点でジョシュア・ブロックが入っている。日本人いない?

・第3版への序文
foreachループではないのでは?
>シンタックスはfor。
もとはperl,cshell,VB,C#
cshellは80年代からあるのでは。

nealが先か?joshuaが先かgoogleにいったのは。
5.0が出る直前で、一度javaBOF有志と食事した。
effective javaを読んでたとき。

7.0でクロージャがはいるらしい。
Brachaがブログでよく書いているとのこと。

後から5.0に置き換えはむずかしい。
互換性が保てない。
>オープンソースのライブラリが対応してないのでは?

最近の入門書籍は最新のシンタックスを含んでいるのか?
>結城さんの改訂版は入っていたはず。
tiger以降でもコンカレントを取り入れていないものもある。

javaナイトセミナーやってる。会として、お勧め本は?
ロードマップがいいのでは?
いくつかコース作ってやってみるのはどうか?
メーリングリストで提案して欲しい。

読書会は一人じゃ絶対読まない系の本を選んではいる。

p xxviii 2段落目結び
ジェネリック型システムについて
1.3に隠しパラメータなどでジェネリック使えたりするのか?
java worldの1990年代の版で、特集があったのはGJのことか?
仕込みが長い。10年もの。
設計努力:実装努力=9:1なのか。
オーバーロードにすごく影響を受けそうだから実装が難しそう。

ダグ・リーが201にもアノテーションにも入っている。
スレッドだけじゃない。

ビルジョイ、ゴスリン、影薄いかも。

・訳者まえがき
java使えるpdaってなに?
>リナザウ。他は?

JSR-041はアサーション?

・1 イントロダクション
C.A.R.Hoare>並列の研究者

サブパッケージってなに?
>パッケージには親子関係はなかったはず。6か7で入るとはいっていた。
もしくは、ただのパッケージの階層のことか?
>P137をみるとパッケージの下位層のことのよう。人間の認識上の便宜のもの。

多次元配列って、配列の配列以外の実装ってありえるのか?
>i,j,kで一意メモリを確定できるようにする方法がある。
 (cは多次元配列はない。ただポインタ演算耳底るだけ)

javacでは依存しているコードを自動的に再コンパイルはしてくれないのか?
jarファイルをコンパイル後置き換えれることがそもそも特殊。

・1.1 プログラム例
・1.2 表記法
JSR924ってあったっけ?

正準名ってなに?

・1.4 参考文献
いきなりDylan,Common Lispは濃い。
cobolはない。
Mesaはゼロックスの開発した言語。柴田さんに詳しく聞く。オブジェクト指向教育には
よく出てくる話らしい。
Unicode4.0もある。

・2 文法
・2.1 文脈自由文法
まず、文脈自由文法って聞いたことある人は?>ほとんどいない。
yaccとか触ったことある人は>以外といる。

・2.4 文法表記
for文で省略可能なことがちゃんと記述された入門書はあるのか?
>せめて、省略可能なことぐらいは触れて欲しい。

p12の
t r u e
f a l s e
の文字の空白は意味があるのか?
>終端記号が、特定のアルファベットだから?
>でも P30 の null は空白があいていない。
ひとまず、明確な意味は不明。

・3 字句構造
・3.1 Unicode
バイトオーダーマーク
(宿題)UTF-16のビックエンディアンか、リトルエンディアンかはどこで
きまるんだっけ?

// *\u000dは改行です
だとコンパイルエラーになる。(パズラー)

サロゲート:代理
(Hibernateのサロゲートキー:代理キー)
サロゲートペア
6万5千語以上で16bitで1文字を表現できなくなったものは、
二つ以上の組み合わせで1文字を表すようにしたものを呼ぶ。

Stringのコードポイントは5.0で導入された。

utf-8,utf-32だと起こらない。
utf-8なら、マルチバイト文字だから表現可能。
utf-32だと、30億以上表現できるので表現可能。
utf-8最大4バイト、
u+10FFFF以上は表現できない仕様になっている。らしい。

吉野家の「吉」はサロゲートペアらしい。

・3.3 Unicodeエスケープ
p15 "\\u2297=\u2297" が "\\u2297= "が11文字とは、"も含めて数えるのか?
>多分そう。

何回Unicode変換しても、uが増えていくだけで、逆変換は1回でいける。

Unicodeエスケープのあとに、普通の文字列エスケープが入る。

・3.5 入力要素とトークン
ctrl + Zをファイルの終端として、javaは認識するのか?

・3.6 空白

・3.9 キーワード

・3.10.2 浮動小数点数リテラル
0での除算で、無限大などがあらわせる?

javaで-0と+0の区別はできるか?
cobolはできるらしい。
コボラーが欲しいのは、可変長のBigDecimal?

・3.10.4 文字リテラル
C、C++では文字リテラルに複数の文字表現を保持させることができるとは?

・3.10.5 文字列リテラル
クラスをまたがっても同じ文字列リテラル表現は同じStringの
インスタンスを見なければならないはず?(internと同じことを実質的に行なうはず?)

文字列連結の結果も同じインスタンスを参照するのか?
>intrern使えばそうなる。

internはlisp由来?
デシリアライズするときに常にinternされているのか?

3.10.5のStringCharacterの定義より、",\以外は、
すべて文字として処理される。
>'をバックスラッシュエスケープする必要はない。

3.10.7 null リテラル
(宿題)null型ってなに?

ClassクラスにisPrimitive()なんていうメソッドがある。

・4 型、値、変数
リンクに失敗するとは?
>castできないとき。

クラスはクラス名と、クラスローダまで含めて、
識別する。
同じ名前のクラスでも、クラスローダが違えば違うクラス
>instanceofではfalseになるはず。

null型のクラスはとれない。
クラス名がないし、オブジェクトはnullだから。

4.2.3
1.0/0.0 == POSITIVE_INFINITY
1.0/-0.0 == NEGATIVE_INFINITY

次回は4.3 参照型とその値 からです。

・2次会
(宿題)cppllのメーリングリストサイトを流してください。
http://www.trickpalace.net/cppll/
かな?


[ 戻る ]