Why module-class-method?

Programming, database, and web structure's reasons and meanings for the three stages. Stability and intuitiveness of the three stages. Three-dimensional characteristics of human thinking and the universe.

밤치 39

Why database-table-record?

Why does the world like '3 steps (3 depth)' like this?

When learning programming,

surprisingly, one keeps discovering the fact that the structure keeps dividing into 3 steps.

  • Ruby: Module → Class → Method

  • DB: Database → Table → Record

  • Rails MVC: Model → View → Controller

  • Web structure: Domain → Path → Resource

Even natural sciences are similar.

  • Life: DNA → Cell → Organelle

  • Matter: Atom → Molecule → Object

  • Universe: Star → Galaxy → Galaxy cluster

By this point,

the question naturally arises, "Why exactly 3 steps?"

Is it a coincidence?

Is it inevitable?


1st step is "too simple." 2nd step is "no structure." Only in the 3rd step does 'meaning' emerge.

With only the 1st step,

there is no distinction.

The world feels like one lump.

The 2nd step structure

is close to a simple dichotomy.

Since there are only two options,

depth cannot be created.

However,

the moment it becomes the 3rd step, structure finally emerges.

  • Large framework

  • Groups within it

  • And individual elements

This structure

is very suitable for storing,

understanding, and

expanding information.

3 is a number

"not too shallow, not too deep."


The human brain most 'intuitively' accepts the 3 steps

The space we live in is three-dimensional.

  • Up/down

  • Left/right

  • Front/back

Since the basic structure of the brain that perceives space is three-dimensional,

the 3-step structure is most intuitively understood.

If programming concepts are divided into 4 or 5 steps,

human working memory quickly becomes saturated.

On the other hand,

the 3-step structure

is a "unit of information that is grasped at once."

Therefore, many disciplines, tools, and systems

naturally have a depth of 3.


Programming concepts are most stable when in 3 steps

In Ruby:

  1. Module – A collection of large concepts

  2. Class – Concrete form

  3. Method – Actual behavior

Beyond these 3 steps,

it becomes overly complex for the average learner.

Therefore, the language design itself

follows a "structure that is easy for people to understand."

The same goes for Databases.

  1. Database – Large storage space

  2. Table – Categorized drawer

  3. Record – Actual stored value

If divided into 4 steps,

management becomes more complex

and the brain finds it difficult to perceive it as one unit.

In other words, many systems in the world

follow an "original UX that is easy for people to understand."


The universe is three-dimensional, and human thinking is also three-dimensional

Interestingly,

physicists say,

"A three-dimensional space is the minimum dimension in which life can stably exist."

If it were four-dimensional,

the laws of gravity would be broken

and it would be difficult to maintain stable orbits for planets.

If it were two-dimensional,

life would find it difficult to have complex structures.

Three dimensions

are an exquisite dimension

in which the universe can be stably maintained.

The reason why all programming concepts

are in a 3-step structure

may be because we are creating tools

that adhere to the laws of this universe.


Conclusion: A 3-depth structure is the 'maximum efficiency unit that we can understand and create'

  • Not too shallow

  • Not too deep

  • Intuitively graspable

  • Expandable

  • Able to understand the entire system in depth

The most ideal depth is 3-depth.

Therefore, many things in the world

instinctively follow this structure.

And since programming is a tool that expands human thinking,

it is naturally designed based on the 3-step structure

that best fits human thought.


So becoming a developer means becoming someone who handles the 3-step structure

  • Grasping the big concept

  • Creating structure within it

  • Handling individual elements accurately

This is the mindset of a developer.

Although the world may seem complex,

in reality, most of it is just a repetition of the 3-step structure.

Understanding this,

programming, data, and the web

suddenly begin to look simple and clear.

Comments

Add a Comment

Sign in to comment