C言語は「スコープを管理する言語機能が貧弱」「オブジェクト指向言語として設計されていない」といった要因から、C++やJavaといったオブジェクト指向言語と比べ、大規模開発に向いていないとよく言われている。
相対的に見れば実際そうなのだけれども、そういった欠点は、伝統的なモジュール指向の構造化技法をコーディング規約で支えることによって、ある程度改善することもできる。今回はその一例として、学生時代の頃辺りから使ってきた「モジュール指向」とそれを支えるコーディング規約のセットを紹介したいと思う。
という事で紹介されているスタイルは、よいC言語の書き方のお手本のようなものであるが。
Pythonも元々想定されていたスタイルはこういったスタイルだったんじゃなかろうか。
即ち、モジュールがあり、そこに関数が定義され、データ構造を表す構造体(クラス)がある、みたいな。
なので、JavaやC#のようにクラスが一番偉いスタイルを取らなかったし、クラスメンバのカプセル化もあまり考慮されなかったのではないかと(日常使いのスクリプト言語であるという側面も影響はしただろうけど)。