David Anderson On Beach

Ask a question!
Voice an opinion!
Join
Agile Management
Yahoo! Group
 
 
 
 
 
 
BlogEntry
Wednesday, July 25, 2007
 

David Hume: World's First Object Modeler?

 

History will probably record that either Grady Booch or Peter Coad invented Object Modeling with either Booch's 1986 treatise on OOD or Coad's (with Ed Yourdon) 1987 introductory tomb on OOA. While the OO paradigm probably belongs to O.J. Dahl for his late 1960's work on Simula, the concept of modeling object-oriented programs before they were turned in to code, did not appear until the mid 1980's.

However, I'd like to throw out an interesting observation that much of what was needed for object-oriented modeling was first described by the philosopher David Hume in his 1739 book, A Treatise on Human Nature. In the first book of the volume Hume extends a great deal of effort on defining the concept of an idea and in describing how a simple idea can be composed with others to form a complex idea and that complex ideas can in turn compose others to form yet more complex ideas. Can you see the Composite Pattern emerging out of this? Once he's established what an idea is, Hume goes on to define how ideas can be related and enumerates a set a of relationship types. In many respects Hume's catalog of possible relationships is possibly more comprehensive than what might be available within our modern modeling languages such as UML.

In attempting to classify types of complex ideas, Hume coins the idea of mode. He writes,

The simple ideas of which modes are formed, either represent qualities, which are not united by contiguity or causation, but are dispersed in different subjects; or if they be all united together, the uniting principle is not regarded as the foundation of the complex idea. The idea of a dance is an instance of the first kind of modes; that of beauty the second.

Now consider whether it is possible to model the concept of beauty with UML in a discrete and encapsulated form? Hume had correctly identified the need for aspect-orientation.

All of this might lead me to the conclusion that our education system is too specialized and that it is seldom the case that an engineering or science major reads the classics in philosophy. And that perhaps a more generalist, broad education system would be better. As was the case in 18th Century Scotland. However, the irony here is that while Hume was establishing himself as the leading philosopher of the Enlightenment, engineering was emerging as a discipline driven by James Watt at Glasgow University. However, Watt was not a man of letters but a technician in a laboratory. The engineers of Watt's day were as equally unlikely to have read highbrow philosophy as our modern-day engineering graduates. Technorati tag: Object+Oriented+Analysis, Object+Oriented+Modeling, Object+Oriented+Programming, Object+Oriented+Design, UML, David+Hume, Philosophy

     
 
           
hosted by likk.net
Weblog Commenting by HaloScan.com