Object oriented thinking
As you will no doubt appreciate, the process of thinking is
no simple matter; thinking about thinking is especially complicated.
Normally we do not have to think about the way we think; the brain seems
quite capable of working out its own strategy. However, for many purposes
in life it is quite beneficial to work out before hand the best way to think
about a situation or solve a problem.
To over simplify, we can consider the brain to choose between two possible
strategies when a problem presents itself - an object oriented strategy
or a structured strategy. Which strategy the brain chooses is not necessarily
a conscious decision process as the brain seems to be able to make the appropriate
choice between the two automatically (in fact it is highly likely that the
brain is capable of using both strategies simultaneously).
In essence, the brain chooses to use an object oriented thinking strategy
when it is dealing with uncertainties or being creative and a structured
strategy when it is dealing with known facts or organising a situation which
has no important unknown variables.
The difference between structured thinking and object oriented thinking
can be examined by considering how one might design and plan a project.
With structured thinking you would start by forming a skeleton framework
of an overall plan and, from that plan, work downwards to sort out all the
structural elements at an ever increasing level of detail.
With object oriented thinking, you need have no fixed or definite plan of
the final structure, but, might start anywhere, building up a structure
from small self contained subsections which are fitted together as you go
along.
This difference between structured thinking and object oriented thinking
can be illustrated by considering the two writing strategies of a historian
and a creative novelist.
A historian would probably have full knowledge of all the subject matter
which will form the basis of the total content of the writing. The historian
might sub divide this available material into categories such as date periods,
economics, politics, war, social conditions, etc.
Probably, the historian will use some form of outliner to divide and sub
divide all the available information into suitable hierarchically structured
sections; into these the historian can enter further relevant facts and
observations. This would be a sensible and efficient method to proceed when
writing an account of the history of a particular period, with the structure
and organization being predetermined from the outset.
A creative novelist on the other hand would be unlikely to work out the
full details and structure of a novel before starting to write the story;
the novelist may have only the vaguest of ideas as to what the content or
even the outline is going to be when the writing commences.
It is more likely that the novelist will begin by creating a character and
then imagining that character in a situation. As the novelist visualizes
how the character might react in the situation, the character will be developed
and fleshed out. New characters will be introduced into the situation, who
will react with the first character in the novelist's imagination to trigger
and initiate new directions and events.
As the story proceeds, new situations, characters and developments will
be introduced and the resulting interactions within the novelist's mind
will be written down to produce the content of the novel (many novelists
have talked about this phenomenon of characters in their novels seeming
to develop a life of their own and for the novel to take its own directions).
You will readily see that the historian is limited to the structure and
organization decided upon at the start of the project. The novelist, by
contrast, can develop the content in any conceivable direction and build
in all kinds and levels of complexity.
Object-oriented thinking is not technically difficult to understand, it
is just a matter of getting the conceptual framework to click into place.
As was mentioned at the beginning of "Lingo Sorcery", creativity
can be conceptualized as an OOPS process because you start off with a few
small constructs and progressively add to them as inspiration and opportunity
allow.
With structured thinking, the results are predictable. Using an object oriented
approach, the resulting creations can often be as much of a surprise to
the creator as to the people who admire the creator's creativity.
Of course, thinking need not be (and seldom is) confined to a single strategy.
Object oriented thinking could lead to bizarre results if left unrestrained.
Usually an object oriented process will be constrained, either by a limiting
outline or from continual feedback, which hold the wanderings of an object
oriented design to within a sensible but flexible envelope.
In its very general sense, object oriented thinking is about objects reacting
with each other and their environment. Interaction between objects is facilitated
by message paths which provide hierarchies and precedence; allowing objects
to communicate and send messages to one another. The power of this modular
system is that it can be continually changed and extended to any degree
of complexity and the final complexity does not have to be visualized from
the beginning: it can just grow or evolve.
Also, unlike structural thinking, the complexity of the resultant outcome
of an object oriented structure need not have to be understandable in its
final stage; this allows the design of a structure to become so complex
that it can exceed the capacity of even the designer to comprehend the final
outcome.
The Internet and the World Wide Web are typical of the structures which
can evolve in an unrestrained object oriented environment. Perhaps you can
see how totally inappropriate it would be to design products to exist in
such an environment using a structured design technique?
This is why object oriented techniques are essential to the design of intelligent
Web agents and Intranets. Their final form cannot be visualized at an initial
stage. They will have to evolve in a changing and evolving environment to
achieve a degree of complexity which would be beyond the capabilities of
any single designer to foresee from the outset.
As was illustrated in "How God Makes God", biological structures
evolve in an object oriented fashion to adapt to their environments. They
grow and adapt by adding and mixing communicating modules at all levels
of complexity.
To see the power of object oriented design in action one has to look no
further than the examples of meiosis and metamorphosis in nature.
Meiosis is the processes whereby two cells recombine their genetic material
to produce a genotype which is a mixture of the genes of the two cells.
This is how humans are formed at the time of conception, when some of the
genetic components of the father's sperm is mixed with some of the genetic
components of the mother's egg to produce an unique individual from the
resultant reconfiguration of the genetic modules.
More dramatically, the results of re configuring organic modules can be
observed in the metamorphosis of invertebrates. An example of which is the
caterpillar, which re configures its component parts to turn into a butterfly.
Cleverly designed object oriented programs can exhibit similar powers of
metamorphosis simply by re configuring message paths between objects.
The ubiquitous nature of object oriented strategies and design is only fully
realized when you take into consideration that objects can also be abstract
concepts.
The [heuristic] strategy for creating wealth in HGMG can be considered as
a virtual object. This virtual object is made up from a combination and
hierarchy of other objects which consist of rules. Reconfiguring the rule
objects will change the nature of the virtual strategy object.
In a sense, writing is a form of OOPS - with the words representing objects.
One message path links the objects together in their sequential arrangement
on the page and another meta path is reconfigured by the brain to connect
the words together in a different arrangement for comprehension. Recombining
words in different ways along different message paths create new meanings.
The magic comes from realizing that a system of virtual objects need not
be rigid - objects can be re configured into completely new configurations
resulting in totally different sets of virtual objects (simply by changing
the pattern of the information paths and links).
Object oriented thinking is about polymorphing structures, whose shapes
you can change at will - is a weird thing, both to describe and to imagine.
[Index]
[Next - Object-oriented programming]
[Back - Objects in nature]
Peter Small August 1996
Email: peter@genps.demon.co.uk
Version 1.00
© Copyright 1996 Peter Small
No reproduction in whole or part without prior permission