Friday, August 15, 2008

Coding and Thinking.

I'm spending some time today looking at refactoring a java application that was written in a more or less procedural style!
Reclassifying the classes and methods into 3 tiers: Presentation, business and data layers .

This process is interesting because it encourages abstraction from the very beginning of coding (recoding) a method.  It is a good exercise in preparation for larger issues in the daily world, I hope.

The tendency in the daily world is to allow abstractions to 'float' free of the facts and details that they are based on. I hear people reasoning by non-essentials, whimsical association, or emotional connotation all the time.  
(See Ayn Rand's discussion of floating abstractions -
http://www.aynrandlexicon.com/lexicon/conceptformation.html
http://www.youtube.com/watch?v=UYahVMMxTwY   // Talking head, but he has a great joke about post modern thinkers.
)

I can't just use a compiler, or an IDE to show  the problems in design of daily use abstractions: rights, obligations, duties, freedom, responsibility, liberty, justice, happiness, money, inflation, prices, costs, health insurance, etc.  

We have to use our own reasoning as the 'compiler' of the concepts (abstractions) that are the tools of our consciousness.  This is part of the value of writing and talking. As I write and talk, my thoughts become clearer, more organized, and errors of logic or design clearer.

My thoughts and feelings begin to step out of the shadows and reveal themselves to me as long as I am a clearing for them.  But how do I become a 'clearing?'

No comments: