なぜ module-class-methodなのか?

プログラミング、データベース、ウェブ構造の3段階に関する理由と意味。3段階の安定性と直感性。人間の思考と宇宙の3次元的特性。

밤치 37

なぜdatabase-table-recordなのか?

なぜ世界はこのように'3段階(3depth)'を好むのか?

プログラミングを学ぶと、

不思議なことに構造がいつも3段階に分かれるという事実に気づく。

  • Ruby: Module → Class → Method

  • DB: Database → Table → Record

  • Rails MVC: Model → View → Controller

  • ウェブ構造: Domain → Path → Resource

さらに自然科学も似ている。

  • 生命: DNA → 細胞 → 器官

  • 物質: 原子 → 分子 → 物体

  • 宇宙: 星 → 銀河 → 銀河団

ここまでくると

“なぜ偶然3段階なのか?”

という問いが自然に浮かぶ。

偶然か?

必然か?


1段階は“あまり単純だ。” 2段階は“構造がない。” 3段階でやっと‘意味’が生まれる。

1段階だけでは

区別がない。

世界が一塊のように感じられる。

2段階構造は

単純な二分法に近い。

二者択一しかないため

立体感を作ることができない。

しかし

3段階になると、やっと構造が生まれる。

  • 大枠

  • その中のグループ

  • そして個々の要素

この構造は

情報を保存し、

理解し、

拡張するのに非常に適切な深さだ。

3は

“あまり浅くも、あまり深くもない数字”だ。


人間の脳は3段階を最も‘直感的に’受け入れる。

私たちが暮らす空間は3次元だ。

  • 上/下

  • 左/右

  • 前/後

空間を認識する脳の基本構造は3次元型であるため、

3段階構造は最も直感的に理解される。

プログラムの概念を4段階や5段階に分割すると、

人間のworking memoryはすぐに飽和する。

逆に

3段階構造は

“一度にしっかりと把握できる情報の単位”だ。

そのため多くの学問やツール、システムは

自然に3depthを持つ。


プログラミングの概念も3段階で最も安定している。

Rubyでは:

  1. Module – 大きな概念のまとまり

  2. Class – 具体的な形

  3. Method – 実際の行動

この3段階を超えると、

一般の学習者にはあまりにも複雑になる。

だから言語設計自体が

“人が理解しやすい構造”を追っているのだ。

Databaseも同じ。

  1. Database – 大きな保存空間

  2. Table – 分類された引き出し

  3. Record – 実際に保存された値

4段階に分解してしまうと、

逆に管理が複雑になり、

脳はそれを一つの単位として受け入れにくい。

つまり、世界の多くのシステムは

“人が理解しやすいオリジナルUX”を追っている。


宇宙は3次元であり、人間の思考も3次元的である。

面白いことに

物理学者たちが言うには、

“3次元空間は生命が安定して存在できる最小次元である。”

4次元ならば

重力法則が崩れ、

惑星が安定した軌道を維持するのが難しい。

2次元ならば

生命が複雑な構造を持つのが難しい。

3次元は

宇宙が安定して維持される

微妙な次元である。

プログラミングの概念も

すべて3段階構造になっている理由は、

おそらく私たちがこの宇宙の法則に従って

ツールを作っているからかもしれない。


結論: 3depth構造は‘私たちが理解し、創造できる最大効率単位’だ

  • あまり浅くなく

  • あまり深くなく

  • 直感的に把握でき

  • 拡張も可能で

  • システム全体を立体的に把握できる

最も理想的な深さはまさに3depthだ。

だから世界の多くは

本能的にこの構造に従っている。

そしてプログラミングは

人間の思考を拡張するツールであるため、

当然、人間の思考構造と最もよく合う

3段階を基に設計されている。


だから開発者になるということは‘3段階構造を扱う人間になる’という意味だ

  • 大きな概念を把握し

  • その中で構造を作り

  • 個々の要素を正確に扱うこと

これがまさに開発者の思考だ。

世界が複雑に見えるが

実際はほとんどが3段階構造の繰り返しに過ぎない。

それを理解すると

プログラミングも、データも、ウェブも

急に単純で明確に見え始める。