One day, when the brilliant Chinese Cha'n master Chao-chou was sweeping the court of the monastery, a man asked him:
-Ch'an monastery supposed to be clean and pure. Why is there dust to sweep?
THE ZEN COMPUTING, OR UNCERTAINTY PRINCIPLE IN OOP
Visitor: As a programmer/ tech writer, I'm sort of envious of luxuries available to theoretical physicists who may contemplate such mysterious and exciting things as Heiseinberg Uncertainty Principle or wave-corpuscular dualism of elementary particles. However, are physicists the only hi-tech community that is permitted to enjoy surfing the Zen paradoxes abound in the world around? Are we computer people deprived of the like delights just because computing is so deeply rooted in Aristotelian and Boolean logic? I hardly think so. Zen (one may add Tao) logic is universal, and although we so strongly tend to employ patterns of our dreary either-or thinking while programming artificial things, these things, quite interestingly, happen to be not exempt from the Chaotic Beauty of the Natural World. In a word, Complexity (can one question complexity of modern computing?) ever meets Chaos. And an encounter with Chaos, paradoxically, expands our understanding of Order; or rather force us into accepting a sort of Another Order that underlies seemingly chaotic processes we observe. Further, I argue my thesis. Recently, I've pondered on tricks of object-oriented programming (OOP). Much was said about more human-oriented approaches available with OOP, which allow the programmer to enjoy a higher level of abstraction in comparison with traditional procedural methods that chain the poor developer down to a controlled flow of bits deep inside the machinery. Yes, as for me, systems design and programming in C++, Smalltalk and Java delivers more sense of soaring above than it does in COBOL. In other words, programming in Java appears to be a more human way of thinking. However, what do we understand saying more human? Here we need to be slightly technical. In essence of OOP lies the concept of object, which may be understood as an entity modeling a real world situation. One may announce that a Java programmer thinks in terms of real world proceedings, delivering his or her understanding of the processes by means of the quite abstracted technical language (code). As far, it sounds quite human, and it is so. And here again we can find, not surprisingly, the deep-rooted patterns of rational either-or logic. Object is thought of as static entity, and of course it is static in a technical sense. It possesses such qualities as state and behavior, changeable only within predefined limits. Also, object may be thought of as static because it represents a fixed (constant) set of variables (attributes) and subroutines (methods). Of course, objects provide only a degree of abstraction as to what we understand as a real world situation. However, at the same time they most definitely cannot be perceived as static entities because of dynamic nature of the computing process. In essence, computing is all about data processing, or performance of logical operations on variables stored in memory (the process was mathematically modeled well before the advent of computer as the famous Church-Turing Machine). More simply, there can be nothing static in computing at all, because computation is always a process. So, musing on the nature of objects in OOD&P, we encounter a highly sophisticated logical system presenting the following set of choices: (1) object is either static or dynamic, (2) object is both static and dynamic, (3) object is neither static nor dynamic. As we see, the two latter options sound absolutely Zen-like while the former characterizes the good old Western Aristotelian logic. This is the point where Complexity (of computing) meets Chaos, as it is thought of by Western mind-view, i. e. absence of logical consistency and determinism. It?s obvious that in OOP we cannot perceive object in other way than embracing an advanced sort of logic, so characteristic to Eastern thought. If we understand object as a real world entity, we are entitled to see it as a Zen entity either, which can be described only in the conformable logic system. [I've patented it as Bojenov Uncertainty Principle in OOP. Of course, I'd be curious to hear from fellow Zen programmers and find out their opinions on the matter.]
CT: It's very nice to see you here with some of your thoughts about several different things: Computer programming, mathematics, physics, philosophy, logics, epistemology, and etc...
At first, I am not a man who belongs to any of fields you mentioned, but just an normal man who has practiced Zen Buddhism for a while. Therefore, I won't go into any one of the fields you are interested in it.
From some point of view, any field which a lot and lot people like you who are interested in it was invented and has been developed by many experts and common people and it might be said that each field a piece of human beings' hearts and wisdom and not the wholeness, therefore, someone who'd like to take all of the fields which we human beings have had so far and put them together, it wouldn't become the wholeness at all.
And that's why human being does not yet become an unity and therefore, we still have many issues come from there.
Zen is not like any field like that. It is the basic, the ground, the foundation of all those fields and more. It is the basic foundation of all of those and beyond all of them at the same time.
In other words, Zen is sometimes sciences and sometimes beyond sciences, sometimes mathematics and sometimes beyond mathematics, sometimes physics and sometimes beyond physics, sometimes computer programming and sometimes beyond computer programming, sometimes philosophy and sometimes beyond philosophy; sometimes epistemology and sometimes beyond epistemology, sometimes logics and sometimes beyond logics, sometimes thinking and sometimes beyond thinking, sometimes literature and poetry and sometimes beyond literature and poetry, sometimes religion and sometimes beyond religion, sometimes human being and sometimes beyond human being...
Therefore, each field can study and understand Zen at some degrees and apply what it learned from Zen to itself.
As you might know that the ultimate goal of Buddhism or Zen is to help anyone who'd like to learn and practice what the Buddha and Zen masters teach in order to awaken and liberate himself from suffering caused by greed, anger, and ignorance, then if he'd like he can help others to do the same thing.
Visitor & CT 09/10/01
Purchase posters, art prints, media (music CD & DVD)