0% found this document useful (0 votes)
954 views14 pages

Bryant 2011 Democracy of Objects

The document discusses the similarities between object-oriented ontology and object-oriented programming. It provides background on both and notes they have parallels in structure despite separate origins. While object-oriented programming has faced criticism, the document argues there is potential for a fruitful contribution from the connection between a new metaphysics and computational practices.

Uploaded by

David Rivera
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
954 views14 pages

Bryant 2011 Democracy of Objects

The document discusses the similarities between object-oriented ontology and object-oriented programming. It provides background on both and notes they have parallels in structure despite separate origins. While object-oriented programming has faced criticism, the document argues there is potential for a fruitful contribution from the connection between a new metaphysics and computational practices.

Uploaded by

David Rivera
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

INTERFACE CRITIQUE JOURNAL – VOL.

I – 2018

APPLIED
METAPHYSICS –
OBJECTS IN
OBJECT-ORIENTED
ONTOLOGY AND
OBJECT-ORIENTED
PROGRAMMING
By Gabriel Yoran

“As computer science works on domain-specific


models in order to find solutions to practical
problems, employing models of the world,
informatics is – like any proper science – applied
metaphysics.”

Suggested citation: Yoran, Gabriel (2018). “Objects in Object-Oriented Ontol-


ogy and Object-Oriented Programming.” In Interface Critique Journal Vol.1.
Eds. Florian Hadler, Alice Soiné, Daniel Irrgang
DOI: 10.11588/ic.2018.0.44744

This article is released under a Creative Commons license (CC BY 4.0).

120
YORAN: APPLIED METAPHYSICS

stance and a more or less realist posi-


ONTOLOGY AFTER tion, speculative realism is a feasible

INFORMATICS term. In accordance with the tradition


in which Kant named metaphysics “a
wholly isolated speculative cognition
“What can I know? What must I do? of reason,”
3
speculative realism
1
What may I hope for? What is man?” merely makes the nature of its task
The four Kantian questions, as uni- obvious by naming it accordingly.
versal as they seem, pivot around the The variant of speculative re-
I. All knowledge gained is knowledge alism which will be looked into here,
only in the cognitive relation between is object-oriented philosophy (more
acts of consciousness and an outside often referred to as object-oriented
world, which is deemed more or less ontology and thus abbreviated OOO), a
inaccessible. Every ethical demand is theory by contemporary American
demanded of an I. Every hope experi- philosopher Graham Harman, who
enced is experienced by an I. Kant also coined the term. Even though
holds that answering these three OOO is subsumed under the specula-
questions will inevitably lead to an tive realism movement, Harman
answer of the fourth: What is man? claims to be “the only realist in spec-
And it is again an I who questions ulative realism.”
4

what it is. The Western world lives in OOO, even though this is most
the Kantian horizon. It pivots around likely unintended, is a substance on-
the I. tology developed under the impres-
Speculative realists set out to sion of informatics. It “might be
change that. While not representing a termed the first computational me-
unified theory, this line of thought en- dium-based philosophy, even if it is
compasses different non-anthropo- not fully reflexive of its own historical
centric positions striving to, in Ray context in its self-understanding of
Brassier’s words, “re-interrogate or to the computation milieu in which it re-
open up a whole set of philosophical 5
sides.” As “perhaps the first Internet
problems that were taken to have or born-digital philosophy has certain
been definitively settled by Kant, cer- overdetermined characteristics that
tainly, at least, by those working reflect the medium within which [it
2
within the continental tradition.” As 6
has] emerged.” Such notions usually
overcoming the human as the epis- refer to the leading figures of specula-
temic center of the cosmos neces- tive realism using blogs and social
sarily leads to both a speculative media to distribute their thoughts

––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
1 Immanuel Kant, Critique of Pure Reason, ed. 3 Kant, CPR, B xiv.
Paul Guyer and Allen W. Wood, The Cambridge 4 Graham Harman, personal communication
Edition of the Works of Immanuel Kant (Cambridge: with the author, March 12, 2017.
Cambridge University Press, 1998), A805/B833. 5 David M. Berry, Critical Theory and the
2 Ray Brassier, Iain Hamilton Grant, Graham Digital, Critical Theory and Contemporary Society
Harman, and Quentin Meillassoux, “Speculative (New York: Bloomsbury, 2014), 103.
Realism,” in Collapse, ed. Robin Mackay, vol. III 6 Ibid., 104.
(Oxford: Urbanomic, 2007), 308.

121

INTERFACE CRITIQUE JOURNAL – VOL. I – 2018

quickly and engage in lively discus- them. You wanted a banana but what
sions with the academic community you got was a gorilla holding the ba-
9
online. OOO however has a deeper re- nana and the entire jungle.” Regard-
lation to the computational sphere: less of OOP coming under fire lately,
while Harman first publicly men- the striking parallels between the
tioned the term object-oriented phi- aesthetic and technological praxis of
7
losophy in 1999, object-oriented object-oriented programming on the
programming was already invented one side and a new metaphysics on
in the late 1960s – and the parallels the other side, promise a fruitful con-
between these two domains are note- tribution to the ontographic project.
worthy. As a science investigating
Working at the Norwegian “the structure and properties (not spe-
Computing Center in Oslo, Ole-Johan cific content) of scientific infor-
Dahl und Kristen Nygaard in the mation, as well as the regularities of
1960s conceived a new way of com- scientific information activity, its
puter programming, in which what theory, history, methodology and or-
was separate before, namely data and ganization,” informatics was defined
10
functions, were molded into com- in the 1960s. Since then the task of
bined and somehow sealed logical informatics has been extended be-
units. Dahl and Nygaard named these yond the analysis of scientific infor-
units “objects” and the programming mation and deepened by performing
language they developed, Simula 67, this task using the means of compu-
is regarded the first to allow for soft- ting. Thus, informatics today has be-
ware development following the par- come the science that investigates
adigm of object-oriented program- the structure and properties of infor-
8
ming (OOP). mation. The similarities between ob-
OOP has been in use for nearly ject-oriented programming and
five decades now and while it is still a object-oriented ontology do not come
popular way of structuring software as a surprise, given that informatics is
development projects large and small traditionally occupied with meta-
today, its critics have become more physics: both computer science and
vocal. OOP’s unnecessary complexity philosophy “do not address the mate-
is just one of the issues computer lan- riality of things such as physics, they
guage designers bring up: “The prob- are not confined to the ‘science of
11
lem with object-oriented languages is quantity’ (= mathematics).” Since
they’ve got all this implicit environ- computer science strives to map real-
ment that they carry around with ity onto computational structures,
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
7 Graham Harman, Bells and Whistles: More 10 A.I. Mikhailov, A.I. Chernyl, and R.S.
Speculative Realism (Winchester: Zero Books, 2013), Gilyarevskii, “Informatika – Novoe Nazvanie Teorii
6. Naučnoj Informacii,” Naučno Tehničeskaja
8 Bjarne Stroustrup in: Federico Biancuzzi and Informacija, no. 12 (1966): 35–39.
Shane Warden, eds., Masterminds of Programming 11 Alessandro Bellini, “Is Metaphysics Relevant
(Sebastopol, CA: O’Reilly, 2009), 10. to Computer Science?,” Mathema (June 30, 2012),
9 Joe Armstrong, Coders at Work: Reflections http://www.mathema.com/philosophy/metafisica/is-
on the Craft of Programming, ed. Peter Seibel (New metaphysics-relevant-to-computer-science/.
York: Apress, 2009), 213.

122
YORAN: APPLIED METAPHYSICS

employing substance ontologies reusable, since the same set of state-


seems obvious. As computer science ments can be invoked again and
works on domain-specific models in again. It also makes code more flexi-
order to find solutions to practical ble, since parameters can be handed
problems, employing models of the to a procedure for it to process. Pa-
world, informatics is – like any proper rameters can be thought of as values
science – applied metaphysics. handed to functions (the x in f(x)).
While the function follows the same
logics, the operation’s result depends

PARALLELS on the parameters passed.


These improvements however were
not sufficient to handle complex
Computational metaphors share
computational tasks like weather
a lot of similarity in object-
forecasts. Tasks like this require sim-
oriented software to the
ulations. And even though Alan
principles expressed by [ooo’s]
Shapiro mockingly notes that “the
speculations about objects as
12 commercialized culture of the USA is
objects.
substantially not a real world any-
There are astonishing parallels be- more: it is already a simulation. Ob-
tween object-oriented ontology and ject-oriented programming is a
14
object-oriented programming, even simulation of the simulation,” the
though the former only borrowed the necessity of simulating weather sys-
13
name from the latter. tems or financial markets called for
When object-oriented pro- more sophisticated strategies to
gramming was invented, the domi- structure computer programs. In-
nant approach to computer pro- stead of grouping lists of statements
gramming was imperative or proce- into procedures and have these state-
dural. Imperative programming ments directly manipulate a pro-
means conveying computational gram’s state, object-oriented pro-
statements that directly alter the gramming offers a vicarious ap-
state of the program. A program de- proach. Computational statements
signed in this way roughly works by and data are being bundled together
linearly processing a list of functions in objects. These objects are being
step by step. When these statements closed off to the rest of the program
are grouped into semantic units, “pro- and can only be accessed indirectly
cedures,” one can speak of procedural by means of defined interfaces. Un-
programming. Procedures are used der this new programming paradigm
to group commands in a computer computer programmers became ob-
program in order to make large pro- ject designers – they were forced to
grams more easily maintainable.
Groups of statements also make code
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
12 Berry, Critical Theory and the Digital, 205. 14 Alan Shapiro, Die Software der Zukunft oder:
13 Graham Harman, personal communication das Modell geht der Realität voraus, International
with the author, August 18, 2013. Flusser Lectures (Cologne: König, 2014), 7; transla-
tion by the author.

123

INTERFACE CRITIQUE JOURNAL – VOL. I – 2018

come up with an object-oriented on- solving.” Simondon’s notion of the in-


tology for the world they wanted to dividual describes objects as “agents
map into the computer’s memory. of compatibilisation,” solving prob-
The invention of object-orien- lems between different “orders of
15
tation made object-oriented com- magnitude.” With this notion Si-
puter languages a necessity. The mondon seems to have anticipated
available computer languages did not the object in object-oriented pro-
possess the grammar necessary to gramming; or at the very least, the ac-
describe objects and their relations. It tual implementation of objects in OOP
becomes clear that “computer lan- prove to be in line with the traits of
guage” or “programming language” the individual Simondon described.
are misleading terms. These lan- Object-oriented programming
guages are products of human inven- became so widely adopted partly be-
tion. They are human-designed, cause it is close to the everyday expe-
human-understandable languages, rience of objects. It also makes strong
which computers can process in or- use of hierarchies, another everyday
der to fulfill certain tasks. Designing concept. Objects may remain identifi-
a programming language is an at- able and stable from the outside, even
tempt at producing the toolset for fu- when their interior changes dramati-
ture developers to solve as yet un- cally. The “open/closed principle” is
anticipated problems, sometimes in evidence of this: a component, not
ways that were previously inconceiv- necessarily an object, needs to be
able. Object-oriented ontologies in in- open for future enhancement, but
formatics are pragmatic and open, closed with regards to its already ex-
they are realist in a sense of being a posed interfaces. This “being closed”
useful system of denotators of things ensures that other components de-
outside the computer (or the pro- pending on the component can rely
gramming language). They aim for re- on the component’s functionality dis-
usable program code, which only played earlier – unexpected changes
16
needs to be written once, so problems in behavior need to be prevented.
do not need to be solved twice and er- Being closed can be read as unity, as
rors do not have to be fixed in multi- a certain stability of an object that
ple places. Thus, the programming makes it identifiable. Object-oriented
language designer’s task is meta- programming however reaches some
pragmatic: designing a language as a of this stability by interweaving ob-
tool for others to build tools to even- jects into a hierarchy, an idea that ob-
tually fulfill certain tasks. Object-ori- ject-oriented ontology rejects.
entation discards lists of statements In both object-oriented programming
in favor of objects as the locus of, to and object-oriented ontology objects
use a Simondonian term, “problem are the dominant structural ele-

––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
15 Gilbert Simondon, “The Genesis of the 16 Bertrand Meyer, Object-Oriented Software
Individual,” in Incorporations, ed. Jonathan Crary and Construction, Prentice-Hall International Series in
Sanford Kwinter (New York: Zone, 1992), 301. Computer Science (New York: Prentice-Hall, 1988),
23.

124
YORAN: APPLIED METAPHYSICS

ments. In object-oriented program- 8. Objects can change over time,


ming, objects are supposed to be mod- but at the same time stay the
eled after real-life objects as the aim same object in the sense of an
is to provide a sufficiently precise identifiable entity.
representation of the reality to be 9. No two objects are the same.
simulated. In practice this undertak-
ing often fails. Objects are being cre-
ated in code for things that do not
exist outside the program. Function-
OBJECTS AS
ality is forced into object form even
when the result is awkward and un-
UNPREDICTABLE
satisfying. As a result, alternative pro- BUNDLES
gramming paradigms are getting
more interest lately and new pro- The first programming language re-
gramming languages like Apple’s garded as object-oriented was Simula
Swift are designed undogmatically, 67, invented in the 1960s by Ole-Jo-
mixing different paradigms with the han Dahl und Kristen Nygaard at the
goal to always deliver the solution Norwegian Computing Center in Oslo.
that’s least error-prone for the use- Simula 67 was designed as a formal
case. But this should not be of any language to describe systems with
concern as we are focusing on the the goal of simulation (thus the name
multitude of traits that OOP and OOO Simula, a composite of simulation
share: and language). Simula already incor-
porated most major concepts of ob-
1. Objects are both systems’ basic ject-orientation. Most importantly,
building blocks. Dahl’s and Nygaard’s object definition
2. Objects can be anything from still holds today: objects in object-ori-
very simple to extremely com- ented programming are bundles of
plex. properties (data) and code (behavior,
3. Objects have an inner life, logics, functions, methods). These ob-
which is not fully exposed to jects expose a defined set of inter-
the outside. faces, which does not reveal the
4. Objects interact with other ob- totality of the object’s capabilities and
jects indirectly and do not ex- controls the flow of information in
haust other objects completely. and out of the object. These two spe-
5. Objects can destroy other ob- cifics are subsumed under the “en-
17
jects. capsulation” moniker.
6. Results of interactions between Objects in programming are
objects may or may not be pre- another variant of “the ancient prob-
dictable from outside an object. 18
lem of the one and the many”: they
7. Objects can contain objects. exist as abstract definitions, called

––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
17 Biancuzzi and Warden, Masterminds of 18 Graham Harman, The Quadruple Object
Programming, 350. (Winchester: Zero Books, 2011), 69.

125

INTERFACE CRITIQUE JOURNAL – VOL. I – 2018

“classes” or “object types,” and as ac- work on x and return the result in y.
tual entities, called “objects” or “in- An object method however can also
stances.” So, while a class is the modify other variables inside its ob-
Platonic description of an abstract ob- ject and thus lead to unpredictable re-
ject’s properties and behavior, in- sults. A function is supposed to return
stances are the actual realization of its result – an object method however
such classes in a computer’s modifies its object, but does not nec-
19
memory. There can be more than essarily return a copy of (or a pointer
one instance of any class, and it is to) the whole modified object. When
possible and common for multiple in- manipulating an object through one
stances of the same class to com- of its member functions, it is not
municate with each other. known from the outside which effects
Let us look at a concrete example of this manipulation will have on the ob-
the difference between procedural ject internally. This means the ob-
and object-oriented programming. In ject’s behavior following such a
procedural programming, a typical method call is not predictable from
function would be y=f(x), where f is outside of the object. While software
the function performed on x and the developers generally try to prevent
function’s result would be stored (re- unpredictability, the object-oriented
turned) in the variable y. In object-ori- philosopher will hardly be surprised:
entation however, an object x would it is a key characteristic of OOO that
be introduced, which would contain a objects can behave in unpredictable
method f. An interface would be de- ways and that their interiority is
fined that would allow for other ob- sealed off from any direct access:
jects to call f, using a specified
pattern. And so, by invoking f, the I think the biggest problem
member function being part of object typically with object-oriented
x – or x.f() for short – the object, con- programming is that people do
taining both data and functionality, their object-oriented program-
stays within itself. In our case, there ming in a very imperative
is no return value, so no y to save the manner where objects encap-
results of function f to. This is not sulate mutable state and you
necessary as the object itself holds all call methods or send mes-
the data it operates on. sages to objects that cause
Object-oriented programming them to modify themselves
has been criticized for the fact that unbeknownst to other people
the behavior of object methods (func- that are referencing these ob-
tions inside objects) is unpredictable jects. Now you end up with
when viewed from a strictly mathe- side effects that surprise you
20
matical perspective. A mathematical that you can’t analyze.
function y=f(x) is supposed only to
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
19 Vlad Tarko, “The Metaphysics of Object 20 Biancuzzi and Warden, Masterminds of
Oriented Programming,” May 28, 2006, Programming, 315.
http://news.softpedia.com/news/The-Metaphysics-
of-Object-Oriented-Programming-24906.shtml.

126
YORAN: APPLIED METAPHYSICS

While in object-orientation data and would need to be implemented as


operations performed on it need to be well. In a solar system simulation,
bundled into one object, the compet- there would be multiple instances –
ing paradigm of functional program- objects – of the planet class; in the
ming means that operations and data case of our solar system one would
are separated. In the functional pro- create objects for Earth, Jupiter, Sat-
gramming language Haskell for ex- urn etc.
ample, functions can only return The simulation would manip-
values, but cannot change the state of ulate any planet’s data by calling the
a program (as is the case in object-ori- object’s respective method, for exam-
entation). ple the one to change the planet’s av-
erage temperature on the surface.
The actual variable holding the aver-

THE PLATONIC age temperature itself would not be


exposed to the object’s outside. So,
CLASS any interaction with the object must
be mediated through the interface
methods provided by the object. All
While objects may have complex in-
interactions with an object become
ner workings (code as well as data),
structured by this intermediate layer
they usually do not share all this in-
and can be checked for faulty inputs.
formation with other objects. An ob-
Instead of directly changing the tem-
ject exposes certain well-defined
perature on a planet to a value below
interfaces through which communi-
absolute zero (which would be possi-
cation is possible. In line with object-
ble if direct access was given), the in-
orientation’s original application, we
termediate data setting method
want to discuss the key concepts of
provides its own logic, and thus limi-
OOP using a simulation program. We
tations, to prevent such a “misuse” of
will imagine a program simulating
the object.
gravitational effects in our solar sys-
But all planets are different
tem. Such a program, if designed in
and to take this into consideration in
an object-oriented way, would most
our simulation, we would need to set
definitely contain an object type – or
any instance’s properties (data) ac-
Platonic “class” – representing a
cordingly. To do so, classes provide
planet. Such a class would contain
special “constructor” methods, which
variables to describe a planet’s physi-
bring an instance of a class into exist-
cal and chemical properties like its
ence. Constructors take parameters
diameter, atmosphere, age, current
needed to initially construct an object
average temperature, its position in
and then create an instance accord-
relation to the solar system’s sun, etc.
ingly. (To destroy objects, so-called
It would also contain methods, which
“destructors” can be used as well.)
would be used to manipulate class
As mentioned, object-oriented pro-
data. A method to change the average
gramming differentiates between
temperature (to account for the case
classes (object types) and objects
of a slowly dying sun for example)
(there is other terminology, but in this

127

INTERFACE CRITIQUE JOURNAL – VOL. I – 2018

work, we will use these classic terms both share, something all celestial
as defined in the C++ programming bodies incorporate. Since its first in-
language). What makes this parallel carnation in Simula 67, using the ob-
interesting is that it is an interplay ject-oriented programming paradigm
between a fixed structure and free- is synonymous with organizing ob-
floating accidents that constitutes an jects hierarchically in tree-like struc-
object. This interplay is what OOO tures. Every object has at least one
deems an object’s essence. As not to parent object (a superclass) and can
stretch the analogies between OOO have child objects (subclasses). An
and OOP too far, this interplay takes object then inherits all properties and
place on the inside of an object in OOO, methods of its superclass (or, in some
but in OOP it crosses borders between cases, superclasses) and hands them
objects. But similar to the situation in and its own properties and methods
OOO, objects can come into existence down its subclasses, which can then
without actively enacting any reality. add additional properties and meth-
However, the object structure in OOP ods. So, both classes representing
(which we would call the counterpart planets and suns should be derived
to OOO’s real-object-pole) defines from a superclass representing any
what an object can do. This is to be celestial body. This celestial body
understood as a potential and not as class would then handle properties
an exhaustive description of the ob- and methods shared by all its sub-
ject’s capabilities. In OOP, the instance classes. Only methods and data nec-
of an object (what we have come to essary for more specific celestial
see as its real-qualities-pole) cannot bodies like planets or stars would be
be reduced to the object itself (the defined in their respective sub-
real-object-pole) – an object therefore classes. In OOP, a principle of reversed
is always more than its rigid struc- subsidiarity is at work: anything that
ture. If the object has any interface to can be handled at the highest, most
the outside, which is the case with abstract level is being handled there;
most objects in OOP, there is still no only more specific tasks are being
way to know the results of all possible handled further down the object hier-
interactions with the object. archy.
OOP’s terminology, talking of
“parent classes,” “child classes,” and
HIERARCHY AND “inheritance,” shows the hierarchical
tradition in which OOP is rooted. Any
INHERITANCE object in the hierarchy “inherits” all
traits from its parent object. Such a
Let us assume all planets in our solar hierarchy has at its root an abstract
system simulation have been suffi- object (CObject in Microsoft’s MFC
ciently defined. We would still need model), which only consists of ab-
an object representing the sun. The stract methods that make no state-
sun is not a planet, but a star, yet there ment about the specifics of this object
are properties and probably methods at all. Such an object is rarely being
used directly by software developers,

128
YORAN: APPLIED METAPHYSICS

but only through one of its more con- jects, or in both places? While Simon-
crete subclasses. But not all objects don stresses the notion of objects as
22
are part of such a hierarchy, like for being through becoming, the con-
example the CTime object in the MFC cepts of both OOP and OOO define ob-
21
model. CTime is used to represent jects qua their relative stability.
an absolute time value. Operations on In object-oriented ontology,
such a value are very basic and real objects need sensual objects as a
needed in a multitude of methods, but bridge between them, leading to a
it would be hard to logically position a chain of objects. Sensual or real ob-
time object somewhere in an all-en- jects cannot touch each other di-
compassing hierarchical system. The rectly. The sensual object acts as an
question of what a representation of a interface between real objects – or
specific time should be derived from the real object as the interface be-
is hard to answer. This concept is too tween sensual objects. In object-ori-
basic to be inserted into a hierarchy. ented programming, objects cannot
So, while CTime objects can be inte- touch directly as well: they are broken
grated into custom-made hierarchies, down in interface and implementa-
they themselves are not derived from tion parts. The interface part acts as
any superclass: representations of an – incomplete – directory of meth-
time are solitary objects within the ods and variables made available to
MFC model. other objects. It never exposes every-
thing on an object’s inside to the out-
side. It can even announce methods,

INTERFACE AND which at the time of such an an-


nouncement are not even fully de-
IMPLEMENTATION fined. Only when these methods are
being invoked, a real-time decision
will be made in regard to which ver-
Now that we have a small hierarchy
sion of the method would be appropri-
of celestial bodies represented in our
ate to use in the current situation. So,
object-oriented program design, we
OOP’s interface is on the one hand a
still face the task of implementing the
sensual object since it serves as the
actual simulation algorithm. Discuss-
interface to other objects while not
ing this algorithm itself is outside our
exposing the whole enactability on
scope. We are more interested in
reality of its real object – which would
where such an algorithm would be
be the implementation. Methods can
placed in an object-oriented design.
execute different code, depending on
This touches a key question of any
criteria inaccessible from the outside,
object-oriented system: where and
allowing for a program to change dur-
how do processes take place? Do they
ing runtime without damaging the
happen within objects, between ob-

––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
21 Microsoft, “CTime Class,” 2015, 22 Simondon, “The Genesis of the Individual.”
https://msdn.microsoft.com/en-us/library
/78zb0ese.aspx.

129

INTERFACE CRITIQUE JOURNAL – VOL. I – 2018

object’s identifiability. The imple- its own location in space. These other
mentation part on the other hand rep- planets then would change their posi-
resents the real object in the totality tion in space accordingly. This way
of its enactability in the program. one could create a very simple simu-
As for the solar system simu- lation of gravity, but none of the ob-
lation, in object-oriented program- jects involved would have any access
ming the obvious implementation to other object properties not needed
would be a superclass representing for the calculation of gravitational ef-
all the components of a solar system fects.
needed for its simulation on a celes- So, message-passing is not
tial bodies’ level. An instance of such just a concept of inexhaustibility, it is
a solar system class would then have also a concept of indirection. Objects
to incorporate member classes for do not exhaust each other, they do not
every celestial body in the solar sys- even touch directly, but they com-
tem. But which object would be the municate by messages, which can be
one to describe the relations between seen as an implementation of the
all the data and methods of the solar concept of sensual objects.
system object? One could create
methods in the solar system class
that would contain the algorithm
needed for the simulation, like modi-
INEXHAUSTIBILITY
fying a planet’s position in space de-
pending on the position and
OF PROGRAMS
movement of other celestial bodies as
Let us go back to the solar system
time progresses. But the intended
simulation example one last time. We
way of handling such a simulation is
found that the object ontology offered
a technique called message-passing.
by object-oriented programming lan-
Objects can send and receive
guages is a lax one, since there can be
messages. The concept of message-
objects outside the hierarchy.
passing allows for messages to be
The solar system object, the
sent to an object, which then decides
object which hosts our simulation,
how to handle the message. This way
would need to be instantiated at some
an object is able to handle requests
point, since it cannot create itself.
dynamically, depending on the type
There has to be code outside the solar
of data sent to it. This illustrates how
system class. Of course, there might
both sides in an object-to-object in-
be another object, which again incor-
teraction are involved. This interac-
porates the solar system class (a su-
tion is not a simple sender-receiver
perclass to the solar system)
relationship, but a rich exchange in
representing a galaxy. But the Milky
which both objects involved do not
Way is not useful for simulating the
fully touch each other, but are selec-
gravitational effects in our solar sys-
tive with regards to which input to ac-
tem, and this would just move the
cept at all. An object representing a
problem to another level. The object-
planet could send a message to other
oriented programming paradigm is
planet objects, informing them about

130
YORAN: APPLIED METAPHYSICS

an abstraction from the hardware the languages to machine code the pro-
program will eventually be running cessor can work with) or interpreters
on, since the central processing unit (which basically fulfill the same task
(CPU) does not “know” objects. The in real-time). In any case, there is a
compiler or interpreter program must medium between the high-level lan-
24
have done its task of translation to guage and the machine.
machine code before the CPU can run While objects in object-ori-
the program – and after this transla- ented ontology are described as bro-
tion the object concept is lost to the ken down in a real and a sensual part
CPU. These translator programs re- (what we superficially likened to the
duce object-orientation to a very concepts of implementation and in-
basic sequence of memory opera- terface in programming), we need to
tions, which the chip can process. understand that the whole relation of
This would only change if object-ori- the statements made in a high-level
ented hardware were being built, programming language to the hard-
hardware that would render compil- ware the written program will run on
ers or interpreters useless – but ob- is the relation of model and reality.
ject-oriented chip designs like the The hardware of the chip forms the
Intel iAPX 432, which was introduced ultimate reality of the program, since
in 1981, eventually failed. They were the hardware defines the reality
slow and expensive and new technol- against the model put on top of it
ogies more suitable to the limitations must work. The reality of the hard-
of hardware prove more efficient – ware again is its context, the wider
and so the idea of object-orientation environment of the machinery, its ap-
in chips has only found very limited plications, and the people using it.
23
application. The limits of a program’s en-
Programming languages actability of its reality are in the hard-
came a long way in the last 60 years. ware it runs on and the time available.
They moved from a primitive set of A self-modifying program could en-
commands in order to directly access act an infinite amount of reality given
a processor’s memory to complex se- there is enough time. So, the real ob-
mantics, completely abstracted from ject is inexhaustible by the relations it
the hardware its programs will run enters into with sensual objects. Pro-
on. All high-level programming lan- grams running on a chip can never
guages need an intermediary be- exhaust it. It is impossible to list all
tween statements made in such a the programs that could be executed
language and the hardware programs on the chip. It is not even possible to
are supposed to run on – these inter- know in advance if all these programs
mediaries are either compilers (pro- will actually come to an end. Alan Tu-
grams that in a time-consuming way ring described this phenomenon,
translate high-level programming which later became known as the
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
23 David R. Ditzel and David A. Patterson, 24 A new generation of chips might end this
“Retrospective on High-Level Language Computer separation. FPGAs are chips whose hardware can be
Architecture”(ACM Press, 1980), 97-104, modified by means of software, effectively blurring
doi:10.1145/800053.801914. the line between software and hardware.

131

INTERFACE CRITIQUE JOURNAL – VOL. I – 2018

“halting problem”: it is undecidable if root of both models, OOP and OOO. But
an arbitrary computer program will object-oriented ontology rejects the
eventually finish running or will con- concept of a reducibility of objects to
25
tinue running forever. The halting other objects: even though every ob-
problem extends inexhaustibility to ject can be broken down to its parts
the proof of inexhaustibility. (representing new objects): these ob-
Object-oriented ontology jects do not exhaust the bigger object
aims at treating all objects equally – they form. There is nothing “below”
which rules out a central perpetrator. objects in OOO. OOP however is a
In object-oriented programming, it model, which is deliberately put on
seems that there is no central perpe- top of the more primitive and non-in-
trator as well and objects act inde- tuitive computational concept of
pendently from a central instance. In memory.
reality, object-orientation today is a This shows how object-ori-
paradigm put on top of hardware, ented programming works only at a
which is incapable of working with- certain level of abstraction, thus con-
out a central perpetrator. So, while the stituting the major difference be-
language in which the program is tween object-oriented programming
modeled, is object-oriented, it is im- and object-oriented ontology: the ear-
portant to understand that these ob- lier being a model applied pragmati-
jects are constructions in a language, cally in one domain, the latter aiming
which again tries to mimic things and for a complete metaphysics.
relations in reality.
Objects act on behalf of them-
selves as long as one stays at the ob-
ject’s level of abstraction. On the
chip’s level these objects are nonex-
istent – the CPU only acts upon
memory, where certain information
is stored. The CPU and the operating
system will make decisions without
the objects “knowing,” for example for
dispatching: since programs today
mostly run on computers with more
than one central processing unit, it is
necessary to distribute tasks (or ob-
ject methods) to different CPUs.
The intuition of being sur-
rounded by objects with a certain in-
dependence from each other is at the
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
25 Alan M. Turing, “On Computable Numbers, Computable Numbers, with an Application to the
with an Application to the Entscheidungsproblem,” Entscheidungsproblem. A Correction,” Proceedings of
Proceedings of the London Mathematical Society s2- the London Mathematical Society s2-43, no. 6
42, no. 1 (January 1, 1937): 230-65, (January 1, 1938): 544-46, doi:10.1112/plms/s2-
doi:10.1112/plms/s2-42.1.230; Alan M. Turing, “On 43.6.544.

132
YORAN: APPLIED METAPHYSICS

REFERENCES Tehničeskaja Informacija, no. 12 (1966):


35-39.
Shapiro, Alan. Die Software der Zukunft oder:
Armstrong, Joe. Interview by Peter Seibel. In: das Modell geht der Realität voraus. Inter-
Coders at Work: Reflections on the Craft national Flusser Lectures. Cologne: Kö-
of Programming, edited by Peter Seibel, nig, 2014.
205-239. New York: Apress, 2009. Simondon, Gilbert. “The Genesis of the Indi-
Bellini, Alessandro.“Is Metaphysics Relevant vidual.” In: Incorporations, edited by Jona-
to Computer Science?”Mathema (June than Crary and Sanford Kwinter, 297-319.
30, 2012). http://www.ma- New York: Zone, 1992.
thema.com/philosophy/metafisica/is- Tarko, Vlad. “The Metaphysics of Object Ori-
metaphysics-relevant-to-computer-sci- ented Programming.” Softpedia News
ence/. (May 28, 2006).
Berry, David M. Critical Theory and the Digital. http://news.softpedia.com/news/The-
Critical Theory and Contemporary Society. Metaphysics-of-Object-Oriented-
New York: Bloomsbury, 2014. Programming-24906.shtml.
Biancuzzi, Federico, and Shane Warden, eds. Turing, Alan M.“On Computable Numbers,
Masterminds of Programming. Sebasto- with an Application to the Entschei-
pol, CA: O’Reilly, 2009. dungsproblem.” In: Proceedings of the
Brassier, Ray, Iain Hamilton Grant, Graham London Mathematical Society s2-42, no. 1
Harman, and Quentin Meillassoux. “Spec- (January 1, 1937): 230-65.
ulative Realism.” In: Collapse, edited by doi:10.1112/plms/s2-42.1.230.
Robin Mackay, III:306-449. Oxford: Ur- Turing, Alan M. “On Computable Numbers,
banomic, 2007. with an Application to the Entschei-
Ditzel, David R., and David A. Patterson. “Ret- dungsproblem. A Correction.” In: Proceed-
rospective on High-Level Language Com- ings of the London Mathematical Society
puter Architecture.”In: Proceedings of the s2-43, no. 6 (January 1, 1938): 544–46.
th
7 annual symposium on Computer Archi- doi:10.1112/plms/s2-43.6.544.
tecture, 97-104. ACM, 1980.
doi:10.1145/800053.801914.
Harman, Graham. Bells and Whistles: More
Speculative Realism. Winchester: Zero
Books, 2013.
Harman, Graham. The Quadruple Object. Win-
chester: Zero Books, 2011.
Kant, Immanuel. Critique of Pure Reason. Ed-
ited by Paul Guyer and Allen W. Wood.
The Cambridge Edition of the Works of
Immanuel Kant. Cambridge: Cambridge
University Press, 1998.
Meyer, Bertrand. Object-Oriented Software
Construction. Prentice-Hall International
Series in Computer Science. New York:
Prentice-Hall, 1988.
Microsoft. “CTime Class,” 2015.
https://msdn.microsoft.com/en-us/li-
brary/78zb0ese.aspx.
Mikhailov, A.I., A.I. Chernyl, and R.S. Gilyarev-
skii. “Informatika – Novoe Nazvanie Te-
orii Naučnoj Informacii.” In: Naučno

133

You might also like