Tuesday, August 24, 2010

Bringing it back

All this discussion of programming methodologies, concepts, and design... I feel a little like I have gone off subject and I might be correct except that I am not. There is a recursion here that applies to the very suggestions that I originally began to discuss in the trenches of code and object design.

Conceptual clarity matters. Concept oriented programming is important and valuable. It has the capability of providing you with a better use of the constrained set of resources you have available for implementation. The approach does seem to require a higher level of up front investment but the facts are that over time and nearly immediately, the approach pays huge dividends (I should probably write a defense of this position). This actually is quite an important assumption that I make in much of my discussion: that a future exists and persistence of your work will proceed through time, especially if you've done your work well.

This is an admittedly big assumption to make. However, I will ask this: do you want it to be otherwise? If you do not take the approach I suggest, how many resources will you waste as time goes on, assuming you are wrong about your failure? Is that the sort of prophesy you'd like to fulfill? Is failure what you want to aim and plan for? I'd imagine not and more problematically, if your current effort ends in failure, you will have learned and reinforced behaviors at least to a degree that can have no other probable effect than increasing the probability that your future efforts result in failure. Life is cummulative and your life's time, energy, and efforts are yet further constrained resources.

Wow... there he goes again. This guy gets really off subject a lot. It's almost as if he enjoys the work but regards it as great and enjoyable hobby that works well in his life but regards that work as a subset of the entirety of his life and attempts to maintain a healthy fusion. Funny that.

Getting back to it... Looking back to my previous posts here, about leaking semantics and dishonest object advertisements, what I am talking about in those posts is that the conceptual unity and organization of the subject whipping-boy code examples. The actual concrete existence of such coding practices and implementations are a result of the lack of conceptually oriented development practices or a backing conceptual design. If the up front work of design and development had been performed and the work itself backed by a deep understanding of the task at hand, it is unlikely that such an implementation would have ever formed in the developers mind. We would not have had to plug our way through their ugliness and we would not have had to discuss why they were problematic. Instead, we could have been writing/reading a higher level discussion of the machinations of software, maybe even (if lucky) beginning to ascend out from the depths of such an existence and stepping into a clearer, more elegant, and more pleasant world. A funny metaphor about life itself, I suppose if you like the getting off track aspect of my writing.

Develop well.

Be human well.

For the rest of you:
Be sentient well.

No comments:

Post a Comment