JavaFXは新しく出てきた言語なのに数値型はどうにかならなかったのか

以下のコードがコンパイルエラーになるというのは以前書いた。

var a = 1;
a = 0.1;

こうなるとユーザーは何でもおまじないとして「1.0」と書きそうで怖い。

これはNumber型で定義されてしまう。Nuumber型はFloat型なので2進スケールの浮動小数点型だ。

つまり、以下のコードみたいなのはやっちゃダメ。

var a = 0.1;
…

if(a == 0.1){
…

技術者ならこんなコードかいちゃダメだというのは息を吐くように当たり前のことなのでわかるけど、JavaFXのターゲットユーザーにコレを理解しろというのは酷な話に見える。

いまどきの言語はみんなGroovyみたいな10進スケールをデフォルトにしてくれるほうがいいけどなぁ。速度がほしい場合コプロが対応する意識してFloat型とか選べる(Groovyは1.0fでいける)形でいいと思うんだけれども。

いまどきデフォを2進スケールってどうよ。


なんというか、「なんで?」というPHPみたいな言語になりそうで怖い。


そろそろCPUも10進スケール型をコプロインターフェースで追加してほすい。各種言語もそれをサポートする形で。64bitあれば普通の会社で必要な数値はすべてあらわせれると思うんだれども。京単位まであらわせないと足りないってことはあんまりなさそうなんだよなぁ。仮にそういうところでも96bitくらいとれば表せない数はなさそうだし。