私がJavaからC#に乗り換えた10の理由という、コラムが@ITにあった。 面白い話だったので、ここで紹介しておく。 ついでなので、私の意見も織り交ぜることにする。 - 理由01 - struct C#では、class以外にstructがある。双方の違いは ヒープ領域に置かれるか、スタック領域に置かれるかの違いだ。 コラムでは、これが大問題にあるとあるが、そんなことは感じたことがない。 最終的に、そうせざるを得ない場合があったとしても、 Poolクラスを作ってしまえば、ヒープ領域の無駄遣いはほぼなくなる。 私は逆にC#の方が使い勝手が悪いように思える。 C#をしっかり押さえている技術者は間違わないが、 スタック領域とヒープ領域を知らない技術者も多い。 そんな技術者がstructをゴリゴリ作ったらどうなるか・・・ スタック領域はかなり限られているので、スタックオーバーを起こす方が簡単だ。 -