Don't grow Trees!
[Read this article]
;)
Trees are indeed a very handy idiom for understanding a tough data structure. When Tree begun,
in Folder structures, it was as a major idiomatic evolution. But even then, the Trees were very
tough idioms for novices. If a person is brought up with Lists as the maximum complex structure
in the world, then Trees are frightening for sure. This is nothing new, earlier, even
ComboBoxes were considered unfriendly GUI, when compared to List Boxes. But as humans are
exposed to complexities, the need to move for tougher and more realistic idioms is vital.
I still remember the days when, lacking suitable VB components, and due to the need to be
'user friendly', we used to show trees as a wizard of List Boxes. But now, we straight away
go for Trees. Trees, no doubt, have simplified our reactions to hitherto complex data structures.
Many of the real-time object relationships are representable as trees. And many simple lists
naturally grow to become trees. XML is the ultimate proof of the universality and flexibility
of trees. But are Trees the final destination? Now that we are so comfortable with it,
what are its pitfalls? What is the next 'complex' structure we can imagine?
What is OOP?
[Read this article]
Having said this, giving an argument for each of the wrong claims is only academic. Read
the above list carefully, I often come across people saying one of this is OO, and thereby
accepting that they neither know OO nor that programming aid fully. But it is not their
problem alone. OO is not well defined for many. Though some aspects are clearly NOT OO
per se, there are others, which are very controversially placed. Of course you must also
consider that may be few of these non-OO ideas might in fact been inspired by OO's spirit.
What is that spirit? That is what this article is trying to explore.
|