先日私に出くわしたことの1つは、特定のタイプがまだ必要であるか、私たちを阻んでいる遺産です。つまり、short、int、long、bigintなどが本当に必要なのかということです。
私はその理由を理解しています。変数/オブジェクトはメモリに保持され、メモリを割り当てる必要があるため、変数の大きさを知る必要があります。しかし、実際には、現代のプログラミング言語は「適応型」を処理できるはずではありません。つまり、何かがshortintの範囲でしか割り当てられない場合、使用するバイト数が少なくなります。その特定のインスタンスに応じて。
浮動小数点、実数、および倍数は、型が必要な精度に依存するため、少し注意が必要です。ただし、文字列は多くの場合(.Netで)ほとんどメモリを使用することができませんが、Unicodeエンコードのため、文字列は常に2倍のメモリを使用します。
特定の型の引数の1つは、仕様の一部である可能性があります。たとえば、変数が特定の値より大きくなることはないため、shortintに設定します。しかし、代わりに型の制約がないのはなぜですか?変数(およびプロパティ)に許容範囲と値を設定できると、はるかに柔軟で強力になります。
型アーキテクチャは根本的なハードウェアと非常に緊密に統合されており、シリアライゼーションのようなものが実際にトリッキーになる可能性があるため、タイプアーキテクチャを改良する際の大きな問題を認識しています。しかし、プログラミングの観点からすれば、それは素晴らしいはずです?
type hour is range 0 .. 23;