私は、プログラミング言語の機能がすべてのクラスのエラーを排除するという主張をよく見てきました。
たとえば、次のような主張を見てきました。
強力な型システムは、型がサポートしていない機能を使用することによって引き起こされるクラスのエラーを排除します。
自動メモリ管理により、オブジェクト/構造体に適切な量のメモリを割り当てることに関連するエラーのクラスが排除されます。
必須の変数初期化により、NULL ポインターまたは NULL 参照エラーが排除されます。
不変のデータ構造により、変更可能な状態の変更の影響を理解していないために発生するエラーのクラスが排除されます。
私は上記の主張が正しいかどうかを調べようとしているのではなく、自分自身で調査および評価するのに十分なほど具体的なこのタイプの主張のリストをまとめています.
エラーのクラス全体を排除すると主張されている他の特定の機能は何ですか?
これを行う機能を特定する、またはそのような機能がないことを特定するための一般的な原則または理論はありますか?
(真実であるかどうかにかかわらず、次のような明らかに漠然とした、または主観的な主張は含めないことに注意してください。
オブジェクト指向プログラミングは再利用性を向上させます。
動的言語はプログラミングがより高速です。
意味のある空白は、プログラムをきれいにします。)