世界理解

BEAR.Sunday Advent Calendar 2024として西洋哲学と現代のソフトウエアの関わりの記事を4本、東洋思想との関わりの記事を1本書きました。これで総括めいた事を書くのは時期尚早です。しかし今はっきりと自覚している事を今の時点で書き残したいと思って記事にしています。

世界理解の方法として、アリストテレスは事象を分析的に理解し、老子は全体の関係性から理解します。この二つのアプローチは、知的活動の本質的な二つの側面を表しているように思えました。

これらは、相反するようでいて実は相補的です。論理的な分析と直観的な全体把握。

私たちのソフトウェア開発にも両方が必要です。DDDは暗黙知を形式知化しようとしますが、その限界もあります。制御を手放した分散システムは、要素間に自然な調和が生まれます。REST、サーバレス、イミュータブルインフラストラクチャ。現代的なソフトウエアには「無為自然=他を制御しない」不文律が一貫しています。

世界理解の方法そのものが、より包括的なアプローチを必要とするものなのでしょう。科学的・分析的な理解と、東洋的な全体性の理解。SOLID原則や静的解析などの従来のソフトウエア原則は前者に寄与し、DDDや情報設計は後者に役立ちます。

ソフトウエアの世界がこれほど魅力的なのは、単なる道具を超えた人類共通の世界理解の方法が深く根ざしていることが原因なのではないかと、シリーズを続けながらそんなことを思いました。