前田です。

At Wed, 7 Apr 1999 16:43:16 +0900,
Shin-ichiro Hara <sinara / blade.nagaokaut.ac.jp> wrote:
> |  フリーズとは、ロッカーの鍵を閉める事である。
> |
> |この、定数とフリーズの違いにも引っかかった事があります。他の言語から来
> |ると??な違いに見えまして...
> 
> 定数は変数(の一種)で、フリーズはオブジェクトについて
> の話ですよね。フリーズはそのままオブジェクトを凍らせる
> イメージがいいかな。

たいていのオブジェクト指向言語では変数/定数とオブジェクトが
mutableかimmutableかということは区別されていますよね。


ところで、Software Design 4月号の岩谷氏の記事で両者が混同されてる
ような気がするのはわたしだけでしょうか。

Javaで、

 String s = new String("Hello");
 s += " World";

がOKなのはコンパイラの最適化のせいではなくて、+=がオブジェクトの
状態を変える操作ではなく変数に対する操作だからだと思うんですけど。

# だいたい最適化するかしないかでコンパイルが通ったり通らなかった
# りしたら、それはコンパイラのバグだと思う(^_^;

-- 
前田 修吾