型システム
型によってプログラマは低レベルでの実装に煩わされずにより高レベルで考えることができるようになる。これはプログラム設計に適切な抽象化をもたらす。例えば文字列型によってプログラマは文字列を文字列として、単なるバイトの列ではないものとして考えることができる。
また型によって複数のデータ構造の間の依存関係を明確にすることができ、さらに上位レベルでは複数のサブシステム間のインタフェースを表現することができる。これはサブシステムの相互運用性に必要な定義を局所化し、それらのサブシステムが通信する際に起きる矛盾を防止するなど、モジュール性の向上に貢献する。