As The Master was setting out on a journey, a young man ran up, knelt down before him, and asked him, "Good teacher, what must I do to inherit the eternal bliss of OO?"
The Master answered him, "Why do you call me good? No OO programmer is good but The Creator alone.
"You know the commandments:
- "'An object should have only a single responsibility.'
- "'Software entities should be open for extension, but closed for modification.'
- "'Objects should be replaceable with instances of their subtypes without altering the correctness of that program.'
- "'Tell, don't ask.'
- "'You shall not indulge in primitive obsession.'
- "'All state is private.'"
The young man replied and said to Him, "Teacher, all of these I have observed from my youth when first I learned to program."
The Master, looking at him, loved him and said to him, "You are lacking in one thing. Go, surrender all primitive types, and renounce all control structures. Write all code as messages passed between encapsulated objects, with extreme late-binding of all things. Then will you have treasure in Heaven; then come, follow me."
At that statement the young man's face fell, and he went away sad, for he possessed many data structures and algorithms.
The Master looked around and said to his disciples, "How hard it is for those who have a wealth of procedural programming experience to enter the kingdom of OO."
This page is part of the collection of Christian Scholarship essays from the Computer Science Department at Calvin College.