回答受付が終了しました

型ってなんで存在してるんですか? プログラマやコンパイラがバグを判定するためだけですか?

回答(8件)

0

a=b; と書かれた時に、8bitのコピーなのか 16bit, 32bit, 64bit, はたまた構造体なのでもっと多量のコピーなのか? コピーだけじゃないけど実行時に作用を起こすデータサイズを判定する為に型が有ります 構造体だとbyte数に上限が無いので一律の最大サイズを定める事は困難です 昔は確かにメモリは高価だったのでコスト削減は重大問題でしたが 今ならメモリ ぇ?ほんとに余ってます?うらやましい! メモリ不足の為機能に制限が出来ちゃう巨大アプリって珍しくないし、私の状況ではメモリさえあればもっと多くのプログラムが走らせられるのに!!! って困ってますよ

0

「整数だけ」を考えるのなら、それでいいんじゃない? 実際、charとかshortとかlongとかlong longとか整数のバリエーションがいくつも存在するのってC言語くらいだし。 ただ、現実問題としては「整数以外も扱いたいよねぇ」ってなるし、したら当然「型」が必要になるよね。

0

宗教論争な気もする。 型が不要か有用かはその域にありますね。 昔は型は開始位置と幅しかなかった。 今は無闇に型を増やして定める派閥で固まっています。 私個人は暴走していると見ている。 なんとも言えないですね。 昔のbasic言語なんか型は一つくらいだった気がする。 ではbasicが悪いかと言うと教育言語として優れていたと追想する。 まあ宗教ですよ。

0

型は情報の読み方を規定しています。 例えば、0xFFというデータがあったとして、 それに、255という意味を割り当てるのも型の役割の1つです。 別の型を当てはめれば、同じデータの意味が、-1になるかもしれませんし、 また別の型を当てはめれば、終了コードになるかもしれませんし、、 更に別の型では、それは、白を意味するかもしれません。 データそのものには元々意味など存在しません。 人間がそのデータに様々な意味を割り当てるのです。 この時に、どういう意味を割り当てたのか?という情報が、「型」として記録されます。

0

仮に長さを揃えたとしても、浮動小数点型と整数型を整数ベースで足し算するとおかしなことになります。それを防ぐのが「型」の実装です。 プログラミング言語から型の概念を一切無くすことは可能です。それは生の「2進データ」ということで、それを整数なのか浮動小数点なのか文字なのか、どう扱うかは全てプログラマーに任せることになりますが、面倒なので今はよほどの必要性がなければやりません。