Wednesday, July 5, 2017

"Procedure" and "Data Structure" - A Distinction without a Difference


"The inner coming-to-be or genesis of substance is an unbroken transition into outer existence, into being-for-another, and conversely, the genesis of existence is how existence is by itself taken back into essence."
- Hegel, Phenomenology of Spirit (paragraph 42)
What happens in computer programs?

Classically, an algorithm is a well-defined procedure that takes input and returns output. The input is some piece of data. You know, a number; or string. The procedure turns this number into another number; or a string into a number. Or whatever.

Literarily, a crystallized objective object comes in. Upon it acts the action of a thousand rapid hands too quick to see. Finally, fresh out of the fire, the result pops out, separate from its furnace, like a piece of toast from the maw of the toaster.

Briefly, Data. Process. Data.

We didn't come out of the womb knowing this pattern though. We had to be taught. A teacher had to guide our hands, pointing, "Look! Those numbers! That's data. That sentence! It's data too." Then we saw the process of the data's transformation. It changed from this data, to that data. And this change, our teacher called, "Procedure." And we saw the names, that they were very good.

And so we learned a pattern. To call this or that, a "data structure" or a "procedure." We followed our teacher in not calling a number a "procedure." Otherwise, we would really confuse things. And we would get a slap on the wrist ... for being wrong about the pattern we have learned.

Once we recognize that we were taught these things, that we entered into a pattern, we might begin to wonder whether we should take our pattern with the upmost seriousness. Shall we step out of our pattern to see what is real in it and what is mere habit?

And so we invite ourselves to consider our concepts as they are, uncommitted to where our results may lead us (say lead us to a slap on the wrist), and our old rules have left our mind for the moment. Uncommitted inquiry.

In other words, let us enter into the world of philosophy.

Let's look at something very "obviously" a piece of data: the number five. What is it to a computer? ( Really, what is it to a programmer? Computers don't really regard things. )

Five is something such that if it is next to a plus sign and another number, it returns the sum.

We might as well have the following.

def 5 (op, summand):
     if(op == '+'):
           if(summand == 1):
                 return 6
           if(summand == 2):
                 return 7
      .
      .
      .

The same goes for multiplication and other operations that the processor is designed to do when it "sees five."

And this procedural knowledge, "what to do," is the entirety of the number five to a computer program.

The same goes for all numbers. And the same for all data. For a computer has to know what to do with the data. But it needs the data to tell us what precisely this is. And so data itself tells the computer what to do. Thus data is procedure.

On the reverse side, "what to do" must be stored someplace in a computer. That is, a procedure is also a thing within a computer program. A piece of hard data.

Thus data and procedures don't seem all that different. The shocking thing occurs when we consider a description of an algorithm with this insight, "Data is processed into data." The "data" part processes the "is processed into" part. And the result is a process. Movement upon movement! This is enough to make one's head spin. Each part seems the mover and the moved simultaneously. And we realize we can no longer look at the computer program from the world of computer programming. For computer programming has static things which are acted upon.

And we come down from this wild experience, tired; our movement and thought we ease -- we make for ourselves an arrest in our experience. But with wonder at how vast our world is; how limited the world of computer programming is. But we like our old game, and we enter into it again, but with the awareness that procedures and data are merely distinctions without a difference.

Nietzsche on Churchianity


'At that time Jesus went through the grainfields on the Sabbath. His disciples were hungry, and they began to pluck heads of grain and to eat. But when the Pharisees saw it, they said to him, “Look, your disciples are doing what is not lawful to do on the Sabbath.” He said to them, “Have you not read what David did when he was hungry, and those who were with him: how he entered the house of God and ate the bread of the Presence, which it was not lawful for him to eat nor for those who were with him, but only for the priests?' 
Matthew 12:1-5
'Whatever is done from love always occurs beyond good and evil.'
- Nietzsche, Beyond Good and Evil

Keep those quote in mind.

Let’s think of the smarmy boy in your elementary school class. You know, the one that would tattle on you for breaking a small rule. He would do this to be spiteful. Or because he felt slavish towards the rules. Maybe get back at you for something. Your mom might have told you that he was acting that way because he was jealous. Nevertheless, the kid’s not wrong. You broke a rule and you will get punished for it. And the kid will certainly feel smug. Even if your mom is right, that he acts out of insecurity, the kid will feel smug.

And what did you really want to do? You wanted, I’m sure, to call him out on all his bullshit. But probably, you were a bit timid, were a bit confused, and didn’t yell at the kid in front of the class and show him for what he was. You defaulted to the easy path: a good boy; and let him get away with his antics. And you were left feeling dissatisfied.

Well, Nietzsche took another path: a cleverer one. For him, the tattle tell is christians as a collective. And he does call them out.

Let’s look again at the the spiteful boy. He uses the “rules” and “goodness” in a funny way. He might put on airs of goodness, like give the teacher a big, innocent simile as he devilishly prepares your destruction. He doesn’t really believe it, it seems. There’s something weak about his attitude. Destructive, yes ... but afraid too ... uncommitted to life or something … In any case -- there you are, you are called “wrong,” or “evil” and you do not do what you really feel you ought to do because you want to have the protection of being “good.” But now … you are being just as cowardly as your enemy … It’s unsatisfactory.

Using masks of righteousness, purity, and knowing the right things … hmmm …

What Pharisees does this remind you of?

Let us stay away from this attitude. Be bold. Love.

Let us follow King David. Let us follow Christ. And go beyond “good” and “evil.”

Sunday, June 11, 2017

New Blog

Now I'm co-authoring at Gene Callahan's blog. So please be diverted over there for more divertissement.