The Object

One cannot get a computer science degree without learning about the object oriented approach to development. Languages can be divided into two groups, those that do not have an object oriented approach and those that do. I have spent a few hours trying to find the inspiration for calling it object oriented. And of course I find the early proponents, Alan Kay and Ivan Sutherland. But I have never seen any inspiration they had for why they began thinking in terms of objects rather than the straight procedural code that prevailed.

I find it interesting that there was a much older type of object thinking in psyc0analytic theory called object relations theory (ORT) that sounds similar to me. It posits that early childhood experiences with primary caretakers instill in us a kind of permanent object that remains in our head for the rest of our lives. Our inner dialog includes conversations, either verbal or non-verbal with these objects.

Wikipedia credits Sándor Ferenczi and Harry Stack Sullivan with thoughts that led to ORT. The essay suggests that it was Ronald Fairbairn who first used the term in 1952. The facts are not critical to the point I want to make other than the existence of these two apparently separate theories.

Philosophy too has a history with objects. Again paraphrasing Wikipedia a subject has agency and experiences and perceives itself as separate from objects in the world. The perceived objects in the world can be largely inanimate objects or even other subjects who have their own agency. This philosophy goes very deep and is fascinating in itself. For the current points it is enough to make some basic points accepted by contemporary philosophers.

The appearance of an object to a subject is a relation between them and not solely determined by either. This point needs some elaboration since it may sound odd. An object possesses properties like shape, structure, color, mass, etc. But the perception of those properties is controlled as much by the subject and their perceptual apparatus. The shape of the object depends upon the ability to perceive the object and is usually improved by moving closer bringing new detail. The structure may be internal and hidden from the subject until the object can be more carefully studied or even destroyed to get at that structure. Color is a perception controlled by the pigments on the surface of the object, the light reflected off the object, and the type of eye perceiving it. We generally think of weight not mass since we live on a planet that gives all objects a weight preoportional to their mass. We perceive that mass in relation to its interaction with other things like our hand when we hold it or the impact it has on other objects. In no case are the perceived properties of the object immutable but contingent onn other things.

All these points can be seen in object oriented programming (OOP). While traditional procedural programming has data structures that exist on physical media open to whoever has access to them and with no ability to enfore relations among the data structures, OOP speaks of objects that encapsulate data and only gives access to that data through procedures called methods that limit what the observer of the object can do. For example if the object defined a triangle, the length of each side will have a fixed relationship to the lengths and angles of that triangle. If that information was open to anyone to change, A change can be made the length of one side that is incompatible with the other attributes of the triangle. The methods prevent that.

Methods are classified as accesor or mutator methods. An accessor method will give the observer information about the object without changing the object itself. The mutator method is the one that bears the responsibility to ensure the relationships that are fundamental to the object remain consistent. The observer might request a change to the object but is free to reject that change if it violates the rules.

To even see an object is a subject of security and privacy. To even perceive the object requires the cyber equivalent of vision. So most objects are hidden from the observer and therefore effectively non-existent. One perceives and interacts with objects within what is called the isovist, a term used by the architect Michael Benedikt but coined by Cliffor Tandy in 1967. The isovist is the universe of things visible from a specific point of view.

Human visual perception depends the eye receiving reflected light off the object. Within a metaverse the perception is built by the ray tracing from light source to object and then to the point of view being rendered. The object should be the one that decides how it is perceived by this subject. It is the result of a method which is given information about the light source and returns the perception it chooses. This way of rendering clearly can be intensly computational so much is done to reduce the computational burden. But this is the fundamental model i use for analysis.

In my next post I think I will go back to the philosophical roots here, go a bit deeper and broach some metaphysical concepts like existence, time, and space.