静的型

 C#Javaを理解するためにもEffective C++を読む必要があるように思う。静的型に対する理解が深まる。しかし全然足りない。

 なぜ型の定義が循環参照することが誤りであると言えるのか分かれば多分静的型の謎は全部解けるんじゃないかと思う。実行パスは循環する。ポインタも循環する。しかし型の定義だけは循環しない。

 C#でDLLをバラバラに分解するようになって初めて静的型のことを少しは理解できた。満足のいくコードも書けるようになった。DLLは循環参照できないので、型の定義を循環参照しないように書く必要があり、訓練の末に書けるようになった。

 型の定義が循環しないことは見通しのいいコードを書くための必要十分条件だと思う。