当時のコンピュータとコンパイラの性能とあわせて
コスト的に違うものだという意識が働いてたんじゃないのかね。
a = aa.bb.cc.dd と
a = aa->bb->cc->dd じゃ
生成されるコードが全然違うからね。

と思ったが、配列とポインタの扱いを考えると違うか。
a->bが(*a).bという記法の省略であるというのはどこでも説明されているけど。