ギリシャ神話とソフトウェア設計(^o^)
ギリシャ神話には主人公がいない
と気づいた.ギリシャ神話の中に「私は」「僕は」という表現は出てこないよね.特に主人公もなく,割と淡白に神々の間の出来事が綴られている感じだ.
ソフトウェアの設計もかくあるべきだ!・・・まぁ,ちょっとコジツケなんだけど.主人公っぽいクラスを作ってしまうと,大抵そのクラスはブクブクに膨れ上がった再利用できないクラスになってしまう.そうじゃなくて,まるでギリシャ神話のように主人公のいない物語を紡ぐべきなんじゃないのか.それが適切な責務(Responsibility)の配置になるんじゃないか.
・・・あ,一応書いておくけど,これは何かの役に立つという内容じゃない.私が勝手にギリシャ神話とオブジェクト指向を比較して面白がっているだけ.それでも良ければお付き合いください.
ギリシャ神話は物語(ストーリー)だ
学生時代に教養課程で受けた講義で,文学の先生が「小説と物語は違う」と言っていた.結構印象的だったのか,今でも覚えている.
小説というのはストーリー(筋書き)だけではなくて,その中に描かれる感情表現やテーマなどが重要となる.しかし物語は筋書きが重要で,セリフの言い回しや感情の表現は話し手がかなり自由にアレンジできる.桃太郎のセリフはそれを孫に語るお婆ちゃんによって多少違うんだけど,筋書きが一緒ならばそれはみんな桃太郎なのだ.
ギリシャ神話は間違いなく物語だ.断じて小説ではない.なんてったって主人公がいないんだから.
ギリシャ神話はフレームワーク
ギリシャ神話は,小説などを生み出す「フレームワーク」となり得る.ギリシャ神話を土台とした小説,映画,演劇は多数存在するだろう.そこではきちんと主人公が設定され,その感情の表現が作品の重要なテーマとなり得る.それはギリシャ神話そのものではなく,ギリシャ神話はフレームワークとして機能している.
これはこういうことじゃないか.ギリシャ神話には Subject(主観,主体,主題)が含まれていないのだ.すべてが Object(客観,客体)として淡々と記述されている.ここに Subject を加えると小説なり映画なり演劇になるのだ.
人物の性格は振る舞いで描写される
人物の性格は複数の物語に「再利用」されることで特徴付けられていく.人物の性格はその「振る舞い」によって明らかにされるのであって,人物自身の心情を内省的な表現で語られることはない.ゼウスの好色なキャラクタはあくまでゼウスの振る舞いによって明らかになるのであって,ゼウス自身の心情(「ヘッヘッヘ,今度はどの女を食っちゃおうかな」みたいな)が記述されることはないのだ.
なぜギリシャ神話は再利用しやすいのか
ギリシャ神話は再利用しやすい.先述したように,まずギリシャ神話自体が複数の物語を含み,同じ登場人物が何度も再利用されている.そして,多くの小説や映画などがギリシャ神話を土台に作られている.何故こんなに再利用しやすいのか.
どうやってギリシャ神話は「設計」「管理」されたのか
ギリシャ神話には多くの物語が相互に絡み合って存在している.ところどころ物語の間に矛盾があったりするようだけど,大抵は物語の間が上手くつながっていて,それを発見することが読んでいて楽しい.
おそらくは,もともと各地方にバラバラにあった英雄伝のような物語が,ギリシャ神話という一つの体系に飲み込まれるようにして成長していったと思われる.つまりギリシャ神話というのはインクリメンタルな開発によって成長したと思うのだ.
たぶんギリシャ神話の全体像を俯瞰した設計というのは存在しないだろう.語り部とか吟遊詩人のような人たちが調整したかもしれないが,基本的にはオープンソース開発や Wikipedia のように自由に追加されていったのではないか.
この辺り,詳しい研究はあるんだろうか.ちょっと興味あるなぁ.