>>703
複雑性を解消するための方法は、モジュールを小さく分けて
内部を見なくていい状態を作り上げていくことだ。
お前だって普通に開発してるときに汎用関数の中のコードまで読まないだろ?
そこにどんなに複雑なソート処理が実装されていたとしてもだ。

もちろんそれが理想だ、
そしてそれを実現する唯一の方法は、オブジェクト指向を捨てることだ
コードを読まずにすむためには、結果が引数によってのみ確定し副作用を持たないということ
つまり純粋関数であるということが、真の意味でのカプセル化だということだ

オブジェクトは状態を内包している、だからこそのオブジェクト指向であり
そうでないならば、staticオブジェクトで表現しても支障は起きない

プログラマの仕事とは究極的に言えば状態を管理することにある
それを隠蔽するような言語では、話にならないことぐらいわかると思うんだが