Let me start with an example from object-oriented programming. Consider the following code snippet which creates a new object of certain type.
A a = new A();
The question is about ‘new’ operator which creates the object. Suppose ‘new’ itself a class, then who creates the ‘new’? So one can ask perpetual questions like this, but the answer (to create objects) lies in the core design thought of copying a static portion of memory (layout) and then modifying it; resulting in a new object. In object-oriented paradigm, this is known as metaclass, a class whose instances are classes. But languages like C++, Java, do not support metaclass, so they introduced the ‘static’ keyword to achieve the mentioned design principle.
The school of thought is, to create something, there should exists something static. With a static thing as reference the other things are transformed rather than created. But one can have interesting thought like; we can create say A from a static thing X and then create X from A and throw away the static X. Thus A creates X and X creates A. This is called perpetual creation. But this might not work in reality and violates the law of energy conservation. Perhaps you can try it out in software where it can be possible. For example, writing a C compiler using C language itself.
Therefore the design sutra is “With static, form the motion”. This idea helps us to design complex system, usually in a layered approach with fixed center as the driving points. This led to the idea of static thing, a thing which has no beginning or end, can be called as God (instead God we can even call it samosa or cutlet, name doesn’t mater only definition matters). Even in a rotating disc there will be a point at the center which will not be rotating. Thus by inducing a change on a static center creates a motion which eventually forms the system design. Like the variation of electric pulse led to the notion of 0’s and 1’s, then with notion of binary representation (center), forms the assembly language programming (motion). With notion of parameter arises the concept of functions, with the notion of state arises the classes, with the notion of classes arises the objects, and with the notion typing arises the polymorphism. Thus every design encompasses this core idea.
In fact this is the secret of the universe design itself. The best example is ‘Shiv Lingam’ which expresses this idea. In Shiv lingam, the top vertical portion (lingam) represents the concept of static center (he ~ shiva) and the circular part (yoni) around it represents the motion (she ~ skathi). ‘He’ forms the reason to manifest the ‘She’ representing the feeling to create motion. That’s why ‘She’ (woman) has the privilege to give birth, though the type of motion is determined by the center ‘He’ (through XY chromosome).
This design idea reveals another important idea on knowledge acquisition. “Understanding the center reveals the system knowledge”. If everything is transformed with reference to a center, then the knowledge of any system can be acquired by understanding the center. Even the ancient Indian text booksL6 quotes about this idea. Below are the few examples:
‘On the moon, comes the knowledge of the cluster of stars’
‘On the pole-star (star which does not have relative motion), comes the knowledge of motion of stars’
On the navel circle, comes the knowledge of the constitution of body’
To explain one of this: – With moon as reference and observing its motion one can get the knowledge about cluster of stars. That’s how people came up with the moon signs which are nothing but a representation of group of stars.
The mentioned design idea might look abstract and trivial, but one can appreciate while designing complex systems. It is the average person who understands the different types of motion in the system, the intelligent person understands the laws of motion, and the wise person understands the center of the system.
With this design as base, an object makes object.