From: www.itworld.com
December 2, 2003 —
From time to time I rummage around in popular science treatments of
theoretical physics. These are mostly in book form but occasionally, a
good documentary comes along. I find myself transfixed by these in the
way my kids are transfixed by pop videos. What a shame that good ones
are so few and far between.
Physics is a fun field to watch from afar. It is full of incredibly
smart people asking some very, very big questions. It is laced with
vigorous intellectual competition and the occasional tincture of 100
pure psychopathological behavior. Even if you are not primarily
interested in physics, it begs a whole bunch of questions to do with
philosophy, mathematics, art and religion to name a few. Regardless of
where your intellectual interests lie, physics is a wonderful spring
board that can take you there, often via some pretty scenic routes.
Dealing as it does with the unimaginably large and the unimaginably
small, it is no surprise that physics is awash with powerful
abstractions that help manage the complexity and grease the wheels of
visualization and discourse. It struck me recently that there is an
interesting correspondence between the abstractions in physics and
computing. Both fields have abstractions for how things work 'in the
large' and abstractions for how things work 'in the small'. Not only
that, but both fields have problems reconciling the two into a single,
unifying theory.
In physics, the small stuff is dominated by Quantum Mechanics and the
large stuff is dominated by General Relativity. In computing, the small
stuff is dominated by Object Oriented Design and the large stuff is
dominated by . . . Well, come to think of it, I'm not sure we know what
the large stuff is dominated by. We have some names for the general area
- distributed systems, application integration etc., but no theory has
so far achieved dominance and stayed there.
Can we look to physics for some inspiration-by-analogy? In physics, a
theory of things in the large has proved to be incredibly accurate at
describing the real world - general relativity. However, applying the
ideas that work brilliantly at the level of solar systems and billiard
balls to the world of the very, very small has not met with success. A
new theory for that domain was required - Quantum Mechanics.
Computing seems to be somewhat similar to this but in reverse. In
computing, we have a theory of things in the small that has proved
incredibly useful - Object Oriented Design. However, applying the ideas
that work so brilliantly at the level of customers and ledgers to the
world of the very large - enterprises, e-business collaboration - has
not met with success.
We are at the point, I would suggest, where we do not know what the best
fitting theory of enterprise-level computing is. We have the object
folks who continue to insist that their theory of the small works just
fine in the large. Then there are a multitude of opposing camps
proposing everything from REST to MOM as the killer abstraction for
large scale computing systems.
Simultaneously, just as in physics, there are those who pursue a grander
vision. A way of looking at computing that unifies the theory of objects
with the (nascent) theory of integration.
This unification effort is very much in its early days. We will know
when it is making progress when we see activity from the popular science
book writers and documentary makers. It might come sooner than you might
think. One reason for this highlights an interesting difference between
physics and computing. In the real world of physics, it would be
impossible to create a unification without having theories to be
unified. I suspect computing might be different. Given that it is *all*
abstract in computing, the unification might actually infer the theory
of the large by the sort of abductive argument that us IT architects are
so fond of.
It will make for a fascinating documentary - and book - some day.
ITworld