コードが設計を可視化するというのは幻想だと思う。

オブジェクト指向の問題点 - ビスケットのあれこれ
オブジェクト指向がUMLとある意味セットだったのはそういうことなんだと思うんだよね。
だから、それは言語や言語の設計思想の問題というよりはツールの問題だと思う。

ビジュアルプログラミング言語にしたって、バックグラウンドに控えている実装に対してある程度の制約をつけた上でそれを隠蔽しているインタフェースに過ぎないんじゃないかな。
だから、UML的なものからコードの自動生成に繋がるようなツールの整備があったとして、それがオブジェクト指向言語の素晴らしさを示すわけではなくて、単にツールの実装を可能にするレベルで抽象化できていた結果でしか無いと思うし、逆にそういうのがないと色んな物が可視化されないということがプログラミング言語としての欠点の本質であるということも全然言えないよね。