- PR -

型ってなんですか?

投稿者投稿内容
会議室デビュー日: 2004/02/26
投稿数: 14
投稿日時: 2005-02-11 00:10
いろいろ意見が出たところで自分なりにまとめてみます。
みなさんのおかげで私の頭の中ではだいぶ整理ができてきたように思います。

型とは(メモリ上での)ビット列の解釈の仕方、意味を定めて伝えるためのものであると。

*値はデータのバイナリ形式であり、型はこのデータを解釈する方法を提供するものです。
*具体ビット列 をどう解釈(符号化・復号化)するかの 情報
*値のとりうる範囲と、適用できる演算の種類を類型的に定めたもの
*メモリの取り方をコンピューターに向かって宣言する事
*型はバイナリに意味をつけ、操作を定義する為の物
*或るバイナリをどう解釈するかという規則
*バイナリに意味を持たせるもの
*コンピューターに対してメモリー、スピードなどの資源の使い方を示すもの
00100101というビット列があったとして、これを人(=プログラマ)が
整数なのか、一つの文字なのか、あるいは一点の色情報を表したのか、を伝える情報なのですね。

型変換とはあるビット列の解釈の仕方を変えること。というのは正確ではなく、
あるビット列で表された意味の解釈の仕方を変えることである。と。
byte a=3;
(int)a
整数3という意味は保たれる。けどビット列は違う。
Dの強いtypedefは例では高さを表す整数値を取るということを表しているわけですね。

で、誰に伝えるかということですが、
低レベルな部分をよく知らないのであれなんですが、
ソースコードレベルで人からコンパイラ(コンピュータ)に、人から人に伝えるものだった。
ですが、バイナリになってしまったとたん、何を表していたかという意味がなくなってしまう。
ですがプログラムからプログラムへこの意味を伝えたいというニーズも大きくなった。
そしてよりその意味を保ちたいと。
それでCLRができたと。属性、リフレクション、型システムによるタイプセーフとかになりますか。

なぜ型があるかというとより意味や意図が伝わるので、その意味や意図から外れたことを
するとコンパイラ(CLRも)によってチェックされて結果的に誤動作が少なくなる、
またビット列を意識することが少なくなって考えやすくなる。ということでしょうか。

いろいろと勉強不足だなぁ。。。いろいろ試してみよっと。
こりゃちげーぞとかありましたらお願いします。

スキルアップ/キャリアアップ(JOB@IT)