Orthogonal Persistence

March 07, 2001

Today I learned what orthogonal means. Aren't you impressed? You shouldn't be. My industry (information technology) is filled with $5 words for $.10 items. The currently hot term at my client is persistence. Persistence is the activity of permanently storing objects so that they are available the next time your application runs. After a while you can get into saying things like, ?We?re going to persist this data to the DB2 database, whereas the rest is going to flat-files.?

Persistence is easy to spell and say. Always a good thing if you are inventing new technology meanings for previously existing words. Orthogonal is impossible to say, and just as hard to spell on the fly.

It's stolen from geometry. The lines that make up the X and Y axes on a graph are orthogonal. They head in different directions. In the IT world the mean is slightly different. (Naturally.) An orthogonal design is one where changes to one component do not effect any other component. As a system, helicopters are very orthogonal. Change the pressure on one control and you must counter it with a different change on another control.

With computer system design you aim for interchangeable components. Ideally you should be able to swap the aging user interface with a newer one without completely re-writing the underlying system. Unfortunately, this rarely happens in the wild.

Maybe if it was easier to say orthogonal we'd be more persistent at making it our goal.

Author's profile picture

Mark H. Nichols

I am a husband, cellist, code prole, nerd, technologist, and all around good guy living and working in fly-over country. You should follow me on Twitter.