いまさらな話題…が流行ってるのか

http://d.hatena.ne.jp/Nagise/20091209/1260376316

95年の時点でみんなそうおもったし、96年になって実際に触り始めてみんな思っていたはずだよ。なんと言う富豪的なモデルだと。少なくともおいらはそうだったし、メモリにうるさいあの時代ならばなおさら。16bitOSが大量にある時代ですよ。なんで32bitかとか。

当時は数値を表すのに16bit+固定小数点がものすごく多かったんで、符号がないcharでやってました。今だとintでいいと思います。キャスト大量に入りますけどまぁしかたがない。

当時C++からごっそりけずった複雑な仕様(というかC++も規格化されてない時代だし、テンプレートがほぼない時代なんでアレだけど)を考えるとこれでよいと考えたのでしょう。Javaのjarコンパイルするとわかりますが、かなり小さいですよね。とにかく命令をシンプルにしてバイナリを小さくしたいというのがメインでした。当時はインターネットは普及しておらず、マニアはダイヤルアップでパソコン通信をする時代。9600bpsとか普通ですからね。2400bpsでつなぐ人も多かったと思います。

今だと現実的で実装しやすいレジスタマシンでVM実装するでしょうね。

インタプリタVMでしたので何をするにも遅く、関数を呼ぶたびに時間がごっそりとられていくのがわかります。1.4以降はわりと気にならないので、関数でまとめるのが一番です。hotspotとして認識されればコンパイル時ではなく実行時にインライン化されます。


符号の有り無しを普段あまり意識しないのは32bit整数が当たり前になったことと業務系だとまぁそんなに問題はなってないとは思います。

それでもJavaで実装してほしいものではTOP3にはいりますけどね。
残り2つはBigDecimalシンタックス、プロパティの言語サポート。

クロージャがどうだとかそういうのは本質的じゃないので正直どうでもいいと思うのですよ。みんなクロージャシンタックスではなく@Share(インナークラスからローカル変数を参照できる)があればそれだけで満足すると思うんだけど。


そういや比較的最近に会った2進スケールでの浮動小数点演算誤差の話とか、いまさらな話がものすごく多い気がした。