Friday, November 27, 2009

Inheritance (Classification) and Composition (Grouping) in Hierarchies

There are two modes to a hierarchy. Both these exist in the single hierarchy.

1. Inheritance (child is a type of parent - sphere is a type of shape)


2. Composition (parent has a child - gymnasium has a court)


Inheritance is virtual. Classes do not really exist. They generally describe objects. In Object Oriented Programming, classes are what objects are made from. In Zen, you are encouraged to avoid thinking about classes and concentrate on the real object as we usually see a tree and simply replace it with a symbol of a tree in our mind. I don't agree with Zen in this case because I think it is very important to think abstractly for efficiency and understanding connections. However, there are many times when we should remember to smell the roses.

Composition is the parts of something. A nice way to look at composition is nesting. We might also say that systems are made with composition. Composition is often real but it can also be virtual - like ideas composed of other ideas, etc. In Object Oriented Programming, composition can always do anything inheritance can do but not the other way around. So in coding, inheritance is just an efficiency (a way to avoid redefining properties) - again, abstract.

Wednesday, October 21, 2009

Isomorphisms of Hierarchies - Drawers to XML

Hierarchies, Trees, Nesting, Multidimensional Arrays, Drawers

Hierarchies or branches of the single hierarchy ;-) show up when things are organized or categorized. Our folders and files on the computer and indeed Web servers and Web pages are all stored in hierarchies. Any nesting is hierarchies so Universe > Galaxy Cluster > Galaxy > Solar System > Planet > Continent > etc. right down to house > room > dresser > drawer > pant > pocket > material > molecule > atom > electron > quark > string. In life we have trees and most if not all things that grow. Time causes us to choose options that branch before us.

Taxonomy in teaching, invention claims in patents, table of contents in books, classification of animals, etc. All these and more are hierarchical. I would guess that hierarchies are at the root of every domain - each called something different and represented in different ways. So if you recognize a hierarchy in your field, please leave a comment.

Isomorphisms of Hierarchies - From Drawers to XML

In programming, the latest paradigm is Object Oriented Programming (OOP) and this is all hierarchy based and levels are accessed via dot syntax: parent.child. This is how all the latest games that model life are created. In XML, the current standard way in the information age to share data between companies and software is hierarchy based with nodes.

OOP and XML is the cumulation of thought from the most logical people in the world en mass modeling life. This is a mass philosophy born out of trial and error and few people if any think of it this way! Nodism is the synthesis and analysis of this phenomena.

Dan Zen