Friday, December 23, 2005

An open letter to Java programmers and Evolutionists:

Evolutionary theory is generally expressed in terms of the principal of Survival of the Fittest. Survival of the fittest, of course, states that the goal of organisms is to survive and thrive.

Our tendency to do the above stated is unfortunate, and is furthermore an indication of our limitated capacity to be precise in our scientific discourse

Survival itself, being a principal of Naturalism and Evolution, clearly supersedes the potentially infinite set of principles that could govern evolution completely by random chance. It’s not that survival IS the goal, or even that survival is SUPPOSED to be the goal, but rather that, because the things that ,by completely random chance, have traits favoring survivability will tend to survive, survival APPEARS to be the goal when processed by the human mind.

Things like goals are constructs of the intellect. The intellect, we are told, has evolved over time in such a way as to aid our survivability. To the extent that the capacity to develop and utilize the concept of a goal has aided our survivability, it should be included in the evolutionary lexicon – BUT TO NO GREATER EXTENT. The concept of goals in a non-incarnate process are present because they are injected into the reality by the observer of the reality, not because they are fundamental to or contained within the nature of the reality.

This rather reminds me of the inversion of control (IoC) design pattern.(AKA Dependency Injection). Thinking of survival as a goal as akin to having object A instantiate object B and then use it’s services. Object B is inextricably linked to object A, because object A is in complete control of object B’s creation, formation, and deletion. So, evolution in this scenario is heavily influenced by the goal of survivability.

IoC states that we are to use a setter method to place a reference to an instance of object B within object A. Therefore, class B is being superimposed on class A by some observing or controlling entity, and class A, while using public methods of class B, has very little control over it from an object lifecycle standpoint. This is akin to the observer (a human scientist) superimposing the goal of survivability on the process of evolution, which has no such goal, knowledge thereof, nor concern there-for.

And, then there’s my firmly held position: You’re all hosed. Do you people have nothing better to do than think? WTF?


Minimally Logged Operations in SQL Server

I'm posting this mostly so I can find it later :) The following article has a great table that defines when operations will be minimall...