為什麼是module-class-method?

编程,数据库,Web 结构的3个阶段的原因和意义。3个阶段的稳定性和直观性。人类思维和宇宙的三维特性。

밤치 211

为什么是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层次,
人类的工作记忆很快就会饱和。

相反,
3层次结构
是“一次性把握信息的单位”。

因此许多学科、工具和系统
自然而然地具有3层次。


在3层次时,编程概念最稳定

在Ruby中:

  1. Module – 大概念的集合

  2. Class – 具体形式

  3. Method – 实际行为

一旦超过这3层次
对于一般学习者来说会变得过于复杂。
因此语言设计本身
遵循“易于人理解的结构”。

数据库也是一样。

  1. Database – 大型存储空间

  2. Table – 分门别类的抽屉

  3. Record – 实际存储的值

如果分成4层次
反而会变得管理复杂
大脑也难以将其作为一个单元接受。

也就是说,许多世界系统
遵循“易于人理解的原始用户体验”。


宇宙是3维的,人类思维也是3维的

有趣的是
物理学家们说,

“3维空间是生命能够稳定存在的最低维度。”

如果是4维
重力定律会破坏
行星难以维持稳定轨道。

如果是2维
生命难以拥有复杂结构。

3维
是宇宙能够稳定存在的
微妙维度。

编程概念
全部都是以3层次结构
这样设计的原因是,
也许我们正根据这宇宙法则
来创造工具。


结论: 3depth结构是‘我们能够理解和创造的最大效率单位’

  • 既不太浅

  • 也不太深

  • 直观把握

  • 可扩展

  • 能够全面理解系统

最理想的深度就是3depth

因此许多事物
本能地遵循这种结构。

而编程
作为扩展人类思维的工具,
自然以最适合人类思维结构的
3层次为基础设计。


因此成为开发者意味着成为‘处理3层次结构的人’

  • 把握大概念

  • 在其中建立结构

  • 准确处理个别元素

这就是开发者的思维。

世界看起来复杂
但实际上大部分只是3层次结构的重复。

一旦理解了这一点
编程、数据、网页
突然开始变得简单明了。

Comments

Add Comment

Your email won't be published and will only be used for reply notifications.

Get notified of new posts

We'll email you when Bamchi Blog publishes new content.

Your email will only be used for new post notifications.