Sunday, August 28, 2005

The Master Speaks

The Master Speaks…...

………………...the Machine must become an extension of you.
The the lifeblood of that extension.
For as your hand is a useless piece of flesh,
when detached from your brain, so does the Machine
come to life, when you connect it to your self.

The mere act of pressing a key is a physical expression of a decisive choice, by means of which you have transferred a small bit of yourself into the Machine. When you press a key, the act is of the same nature as your heart pumping blood to your cells or your brain sending impulses through your synapses to your muscles. The kinetic force you exert in pressing the key is equivalent to a blood corpuscle or an impulse.

When your fingers instinctively do the translation from concept to Code, only then will your brain be free to create concepts.

Tools were invented to do what limbs couldn’t.
Tools are therefore extensions of the Human Body.
A Machine is a tool.
Ergo, the machine is an extension of your body.

He who can Design, but not Code is like one who can see the Cup but is unable to lift it to his lips.
He who can Code, but not Design is like one who searches blindly for the Cup and is unable to find it.
He alone, who can both Design and Code, may drink from the Cup of Glory.

The larger the number of compile errors
The smaller the size of the problem
The larger the number of run-time errors
More monumental the stupidity of the Programmer

Once, two young men came to the Master.
“O Learned One”, they said “Teach us the sacred Art of OOP”
The Master smiled and said, “I will take you on if you can prove that you are ready to learn OOP”.
The young men agreed. They had both solid grounding in Procedural Programming, and were confident of their skills.
The Master handed them each a Disc.
“Each Disc”, he said “contains two functions, one for an ascending sort and one for a descending sort. I wish you to merge the two as you see fit”
The young men were puzzled, but took the Discs and went home
They both slaved all night, putting their best efforts into unraveling the mystery of the meaning of the word ‘merge’.
The next morning they returned to the Master.
The first one proudly took his Disc to the Master.
“It was truly a difficult task you set, but I have accomplished it. I have spliced both functions together so that an equal number of lines of each appear in the final product. With great difficulty I have patched it so that it compiles perfectly and even runs, although it serves no purpose”
The Master smiled and said, “You are not yet ready for OOP”
The second young man approached diffidently and said
“I am sorry Master, for I could find no way to blend the two”
“It seemed impossible to break them down without losing their function. So I merely put one in front of the other, bound the two together with an infinite loop and created a composite object which simulates a ripple on an array of numbers”
The Master rose, embraced the young man and said, “I accept you as my pupil”

Moral of the story: When you define an object by its function and not by its composite parts, when you can feel the indivisibility of an object, when in your mind the purpose of an object becomes its skin, hiding its internal workings, then and only then are you ready for Object Oriented Programming.


Sridhar said...

A really awesome extract. BTW was curious abt its origin... is it from a book??

tony63vanessa said...

Just passing by your blog and though you'd like this website.

Arjun Venkatraman said...

this is not a book extract, sridhar

Abhijith said...

love this piece.. especially this part.... "The mere act of pressing a key is a physical expression of a decisive choice, by means of which you have transferred a small bit of yourself into the Machine".

Search This Blog

Blog Archive